Желание контролировать FPS моей анимации - хорошая причина для продолжения использования setTimeout вместо requestAnimationFrame?

Мне интересно, следует ли мне переключить мою игру на requestAnimationFrame. Если даже еще есть причина для этого, как я читал, setTimeout () теперь также приостанавливается при переключении вкладок в основных браузерах.

В любом случае, допустим, я хочу контролировать FPS моей анимации.

В настоящее время я могу сделать это так:

k.state.loopinterval = 
window.setInterval(renderLoop(), 1000 / k.settings.engine.fps );

Где k.settings.engine.fps - это желаемый fps.

Если я сделаю это способом requestAnimationFrame , я потеряю эту возможность, и он просто даст мне все, что может:

window.requestAnimFrame(k.operations.startLoop);
renderLoop();

Я видел, как некоторые люди предлагали поместить requestAnimFrame в другой цикл :

setInterval( function () {
    requestAnimationFrame( draw );
}, 1000 / 60 );

Итак ... Что мне взять? Оставить как есть?

Каковы точные преимущества requestAnimationFrame, теперь, когда setTimeout также приостанавливается при переключении вкладок?

7
задан skerit 19 November 2011 в 16:50
поделиться