uso triangulo rectangulo mano lineas figuras dibujar circulo alzada javascript google-chrome gpu html5-canvas

javascript - triangulo - figuras en canvas html5



Rendimiento alcanzado al dibujar en lienzo con GPU (2)

Estoy obteniendo 60fps en Chrome 14 bien.

Casi puedo garantizar que esto se debe a que la aceleración de hardware está activada por defecto en Chrome 14 y no en 12. Específicamente, está esperando la sincronización vertical, lo que no sucedió antes.

En Chrome 14 y más allá, la aceleración de GPU (de Canvas) ya no es un indicador que puede encenderse y apagarse; es un valor predeterminado. Lo siento.

Sin embargo, aún puedes desactivar GPU Vsync en Chrome 14 si vas a chrome://flags/ . Esto seguramente le dará más marcos.

Sin embargo, no es algo que pueda hacer que hagan sus usuarios.

Con Chrome 12 mi juego se dibuja sin problemas. Pero Chrome 14, que parece usar la GPU para dibujar, tiene un enorme impacto negativo en el rendimiento de mi juego.

Hice un jsFiddle para ver cuándo sucede exactamente y este código simple ya está teniendo problemas: http://jsfiddle.net/eGjak/48/ .

  • En Chrome 12, el FPS es 62, que es incluso más que la frecuencia de mi pantalla.
  • En Chrome 14, el FPS es ~ 25.

25 FPS es bastante aceptable, pero en mi juego estoy dibujando aún más y está bajando a ~ 8 FPS, lo que definitivamente no es aceptable. Nunca he tenido ningún problema de rendimiento, pero la actualización de GPU para Canvas es un cuello de botella para mí.

  • ¿Por qué un simple dibujo en el lienzo es mucho más lento usando la GPU?
  • ¿Puedo deshabilitar Chrome para usar la GPU a través de JavaScript? (¿O hay otra solución para esto?)

Editar: ha presentado un error en http://code.google.com/p/chromium/issues/detail?id=89540


Acabo de instalar Chromium 14.0.831.0 build 93677 (a diferencia de 14.0.917.0 build 91952 ) y las cosas estaban bien de nuevo. Ahora está justo por debajo de 60 FPS en lugar de ~ 62, pero bueno ...

Creo que el punto principal es que las cosas van y vienen demasiado rápido con las compilaciones nocturnas. Mi juego está funcionando bien otra vez (y desde hoy la última versión nocturna usa el nuevo protocolo WebSocket, que también es excelente).

Espero no estar demasiado entusiasmado con esto, ya que podría volver a disminuir la próxima semana, pero ya lo veré.