Mi simple juego de lienzo parece funcionar bien en Chrome y FF en Mac / Linux. Todavía no he tenido la oportunidad de probarlo en teléfonos inteligentes o entornos Windows. No utiliza doble búfer, pero he visto algunos ejemplos de JS Canvas utilizándolo.
¿Cuándo se recomienda el uso del doble buffer? ¿Hace alguna diferencia solo para navegadores específicos? ¿Hay un impacto significativo en el rendimiento?
¡Gracias!
javascript
html5
html-canvas
double-buffering
Petteri Hietavirta
fuente
fuente
Respuestas:
El doble buffering de un juego basado en el lienzo será sin duda un éxito en el rendimiento. Dibujaría una cantidad adicional de píxeles igual al tamaño de su lienzo en cada fotograma. En los juegos basados en lienzo, dibujar en un lienzo es el mayor cuello de botella en la mayoría de los casos y desea limitarlo tanto como sea posible, especialmente en dispositivos móviles.
Chrome tiene aceleración de GPU (a partir de las últimas versiones), así como un motor de JavaScript rápido y malvado (V8) que no verá emparejado en un entorno móvil. Incluso en Chrome verá una desaceleración mediante la implementación de doble almacenamiento en búfer.
En pocas palabras, el beneficio del doble almacenamiento en búfer (lidiar con el "desgarro") no vale la pena el golpe de rendimiento que probablemente tomará.
fuente
No hay necesidad de duplicar los juegos html5 de búfer. El navegador ya maneja esto por usted solo actualizando el objeto de lienzo después de que se haya ejecutado su script. http://www.mail-archive.com/[email protected]/msg19969.html
fuente
Noté que usando hacer doble buffer como este:
en realidad ralentiza el renderizado (fps más bajos), en lugar de acelerarlo
fuente