Saya tahu saya terlambat ke pesta, namun waktu telah berubah, dan saya yakin pertanyaan ini layak mendapat jawaban terbaru. Kinerja SVG telah meningkat pesat selama bertahun-tahun dan terutama untuk visualisasi seperti grafik yang tidak sepele, SVG sering kali memberikan kinerja yang unggul; namun hal ini sangat bergantung pada kasus penggunaan sebenarnya: Jika visualisasinya sederhana dan terdiri dari ribuan elemen, terutama di perangkat seluler, Canvas mungkin merupakan opsi yang lebih cepat. Jika visualisasinya hampir sepele, WebGL memberikan kinerja terbaik dan mengalahkan Canvas - terutama di perangkat seluler!
Namun WebGL khususnya dan juga Canvas sedikit lebih sulit digunakan dibandingkan pendekatan deklaratif yang digunakan SVG. Hal-hal seperti animasi dan transisi CSS mudah dilakukan dengan SVG dan memberikan kinerja yang baik karena akselerasi perangkat keras dan sepenuhnya tidak bergantung pada kinerja JavaScript. Canvas dan WebGL selalu membutuhkan JavaScript.
Jika Anda melihat pustaka gambar grafik komersial yFiles untuk HTML Anda akan melihat bahwa perpustakaan tersebut menawarkan ketiga teknologi tersebut pada saat yang sama. Ini karena ketiganya bisa menjadi pilihan terbaik, bergantung pada kasus penggunaan sebenarnya.
Ada entri blog yang membandingkan performa SVG, Canvas, dan WebGL khususnya dalam konteks visualisasi grafik. Ini membandingkan berbagai ukuran grafik dan kategori perangkat. “Kesimpulannya” adalah tidak ada pemenang yang jelas. Seringkali kombinasi ketiga teknologi tersebut memberikan hasil terbaik. Namun, untuk grafik yang lebih kecil, SVG seringkali memberikan hasil yang sangat baik dan menyenangkan untuk digunakan. Itu juga alasan mengapa d3.js fokus pada SVG, daripada Canvas dan WebGL, menurut saya.
Ada demo interaktif yang ditautkan dari entri blog tersebut yang memungkinkan Anda bermain dengan berbagai teknologi dan melihat kekuatan dan kelemahan mereka. Tentu saja demo ini terutama membandingkan tiga teknologi yang digunakan di perpustakaan tertentu sehingga hasil Anda mungkin berbeda, tetapi mereka menghabiskan banyak waktu untuk mengoptimalkan ketiga teknologi di perpustakaan itu, jadi menurut saya hasilnya tidak terlalu bias.
Penafian: Saya bekerja untuk perusahaan yang membuat perpustakaan yang disebutkan di atas, namun saya tidak mewakili perusahaan saya di sini di SO. Saya pikir apa yang saya katakan seharusnya berlaku bukan hanya untuk perpustakaan itu saja.
person
Sebastian
schedule
07.04.2018