首页 > 解决方案 > 在 javascript/html 中显示 FPS

问题描述

我正在制作一个游戏,我正在尝试添加一个功能来向用户展示 FPS。我一直在查看 stackoverflow 和其他网站上的其他一些问题,但它们似乎对我没有用。如果您回答,我将不胜感激。谢谢。

(已回答) -查看

标签: javascripthtml

解决方案


以下解决方案对您有用吗?

// 
window.requestAnimFrame = (function() {
    return window.requestAnimationFrame ||
        window.webkitRequestAnimationFrame ||
        window.mozRequestAnimationFrame ||
        window.ieRequestAnimationFrame ||
        function(callback) {
            window.setTimeout(callback, 1000 / 60);
        };
})();

let fpsElement = document.getElementById("fps");

let then = Date.now() / 1000;  // get time in seconds

let render = function() {
    let now = Date.now() / 1000;  // get time in seconds

    // compute time since last frame
    let elapsedTime = now - then;
    then = now;

    // compute fps
    let fps = 1 / elapsedTime;
    fpsElement.innerText = fps.toFixed(2);

    requestAnimFrame(render);
};
render();
<div>fps: <span id="fps"></span></div>

要了解更多信息requestAnimationFrame,请参阅


推荐阅读