Game kanvas sederhana saya tampaknya berfungsi dengan baik di Chrome dan FF di Mac / Linux. Saya belum memiliki kesempatan untuk mengujinya di ponsel pintar atau lingkungan Windows. Itu tidak menggunakan buffering ganda tapi saya telah melihat beberapa contoh JS Canvas menggunakannya.
Kapan sebaiknya menggunakan buffering ganda? Apakah itu membuat perbedaan hanya untuk browser tertentu? Apakah ada hit kinerja yang signifikan?
Terima kasih!
javascript
html5
html-canvas
double-buffering
Petteri Hietavirta
sumber
sumber
Jawaban:
Penyangga ganda game berbasis kanvas tentu akan menjadi hit kinerja. Anda akan menggambar jumlah piksel tambahan yang sama dengan ukuran kanvas Anda setiap bingkai. Dalam permainan berbasis kanvas menggambar ke kanvas adalah hambatan terbesar dalam banyak kasus dan Anda ingin membatasi sebanyak mungkin, terutama pada perangkat seluler.
Chrome memiliki akselerasi GPU (pada versi terbaru) serta mesin JavaScript cepat yang jahat (V8) yang tidak akan Anda saksikan cocok di lingkungan seluler. Bahkan di Chrome Anda akan melihat pelambatan dengan menerapkan buffering ganda.
Singkatnya, manfaat double buffering (berurusan dengan "merobek") tidak sepadan dengan kinerja yang Anda akan ambil kemungkinan besar.
sumber
Tidak perlu menggandakan game html5 buffer. Browser sudah menangani ini untuk Anda dengan hanya memperbarui objek kanvas setelah skrip Anda berjalan. http://www.mail-archive.com/[email protected]/msg19969.html
sumber
Saya perhatikan bahwa menggunakan melakukan buffering ganda seperti ini:
sebenarnya memperlambat rendering (fps lebih rendah), bukannya mempercepatnya
sumber