Karena saya mencoba menemukan pustaka bagan cepat untuk menampilkan bagan di perangkat seluler, kinerja penting bagi saya. Itu juga harus memiliki lisensi yang memungkinkan untuk digunakan secara komersial. Saya membandingkan:
- c3, yang didasarkan pada d3 dan karena itu menggunakan SVG
- chart.js yang menggunakan kanvas
Bagan dimuat di dalam komponen WebView di dalam aplikasi asli dan semua data (termasuk pustaka JS) bersifat lokal, jadi tidak ada perlambatan karena permintaan http. Untuk lebih memaksimalkan kinerja, saya juga memasukkan semuanya ke dalam satu file.
Saya memuat 4 grafik (garis, batang, pai, garis / bar combo) dengan bersama-sama sekitar 500 titik data.
Pengukuran waktu saya tidak termasuk pemuatan halaman html yang sebenarnya. Saya mengukur bentuk saat saya mulai menggunakan kode pustaka diagram hingga akhir rendering. Semua animasi grafik dimatikan.
C3 membutuhkan waktu sekitar 1500-1800 ms pada perangkat Android dan IPhone modern. iPhone berkinerja sekitar 100 md lebih baik daripada Android.
Chart.js membutuhkan waktu sekitar 400-800ms. Android berperforma sekitar 300ms lebih baik daripada iPhone.
Tidak mengherankan, SVG lebih lambat. Tergantung pada kasus penggunaan Anda, mungkin terlalu lambat.
Pada komputer desktop rendering di c3 sekitar 150-200ms dan charts.js sekitar 80-100ms. Menjalankan pengujian yang sama di emulator Android dan iPhone memiliki hasil yang sama seperti di desktop. Jadi perlambatan pada perangkat seluler pasti karena batas perangkat keras / pemrosesan.
Semoga membantu