Me pregunto si debería cambiar mi juego para solicitar AnimationFrame. Si todavía hay una razón para hacerlo, como he leído, setTimeout() también se detiene cuando cambias de pestaña en los principales navegadores.¿Quiere controlar el FPS de mi animación una buena razón para continuar usando setTimeout en lugar de requestAnimationFrame?
De todos modos, digo que quiero controlar el FPS de mi animación.
Actualmente puedo hacerlo de esta manera:
k.state.loopinterval =
window.setInterval(renderLoop(), 1000/k.settings.engine.fps);
Dónde k.settings.engine.fps
es el fps deseado.
Si lo hago de la manera requestAnimationFrame
, que pierden esa posibilidad, y sólo yo lo que puede dar voy a dar:
window.requestAnimFrame(k.operations.startLoop);
renderLoop();
He visto algunas personas sugieren colocar el requestAnimFrame en otro bucle:
setInterval(function() {
requestAnimationFrame(draw);
}, 1000/60);
Entonces ... ¿Qué debo hacer? ¿Déjalo así?
¿Cuáles son los beneficios exactos de requestAnimationFrame, ahora que setTimeout también se pausa cuando se cambian las pestañas?