Каков наилучший способ получить разницу во времени между обратным вызовом «window.requestAnimationFrame» в javascript?Javascript: Как получить разницу во времени между window.requestAnimationFrame
Я попытался:
// create the best .requestAnimationFrame callback for each browser
window.FPS = (function() {
return window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.oRequestAnimationFrame || window.msRequestAnimationFrame ||
function(callback) {window.setTimeout(callback, 1000/60);};
})();
// start animation loop
var dt, stamp = (new Date()).getTime();
function loop() {
window.FPS(loop);
var now = (new Date()).getTime();
var dt = now - stamp;
stamp = now;
}
// has "dt" the best accuracy?
потенциал Дубликат: http://stackoverflow.com/questions/8279729/calculate-fps-in-canvas- using-requestanimationframe –
Справедливо уверен, что обратный вызов передается одним параметром, временной меткой (в полной реализации nativeAnimationFrame), если вы ищете поддержку для заполнения полиса, есть те, которые эмулируют параметр timestamp лучше, чем то, что у вас есть для вашего окно.FPS полипол. [Это] (https://gist.github.com/timhall/4078614), возможно, является одним из лучших, которые я видел. Связано с [this] (http://stackoverflow.com/questions/13241314/up-to-date-polyfill-for-requestanimationframe) Вопрос SO – OJay
Кстати, вы можете полностью исключить IEFE и его 'return', просто назначьте' window.raf = ... || ... || function (cb) {...}; ' – Bergi