JS 请求动画帧帧速率



JavaScript, requestAnimationFrame:

您知道在不同情况下帧速率有何不同(例如不同的浏览器(

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

谢谢

下面是一个函数,用于查找依赖于任何支持它的设备的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); }
        });
    });
}

希望它对您有用!

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

最新更新