JS requestAnimationFrame帧率

时间:2015-12-29 01:47:53

标签: javascript

JavaScript,requestAnimationFrame:

您知道不同情况下的帧速率是如何不同的(例如,不同的浏览器)

如何在特定情况下找出帧率?

谢谢

1 个答案:

答案 0 :(得分:2)

这是一个函数,可以为任何支持它的设备查找依赖requestAnimationFrame()的帧速率。唯一的缺点是精度不是瞬时的。您可以轻松地舍入到最接近的标准帧速率并获得非常快速的返回值,但此代码计算平均超过60帧以获得更准确的requestAnimationFrame()读数。

function RAF_tester() {
    var i = 1;
    var prevT;
    requestAnimationFrame(function(startT) {
        requestAnimationFrame(function RAF_loop(currentT) {
            var elapsedT = currentT - startT;
            var RAF_interval = currentT - prevT;
            var RAF_average = 1000 / (elapsedT / i);
            console.log(RAF_interval);
            diagnostic.innerHTML = 'Average FPS: '+RAF_average;
            prevT = currentT;
            i += 1; if (i<61) { requestAnimationFrame(RAF_loop); }
        });
    });
}

希望它适合你!

在codepen上试用:http://codepen.io/kandleflame/pen/QEgQoE