FPS是指每秒钟页面的刷新率,可以通过计算每秒 window.requestAnimationFrame
的调用频率来做为 FPS 值。它接收一个回调函数,该回调函数会在浏览器下一次重绘之前执行。所以只要我们循环调用并记录单位时间内的调用次数就能计算当前页面的帧率了。
(function () {
var frames = 0;
var startTime = performance.now();
function updateFPS() {
frames++;
var currentTime = performance.now();
var elapsedTime = currentTime - startTime;
if (elapsedTime >= 1000) {
var fps = Math.round(frames / (elapsedTime / 1000));
console.log("FPS: " + fps);
frames = 0;
startTime = performance.now();
}
requestAnimationFrame(updateFPS);
}
requestAnimationFrame(updateFPS);
})();