首页 > 解决方案 > 我的代码在计算 fps 时有什么问题?

问题描述

我正在制作我自己的 Flappy Bird 版本,并试图添加一个 fps 计算器。

所以这非常简单,甚至 stackoverflow 已经有一个解释如何计算 fps 的答案。一切都很好,直到我移动了一个单独的函数中涉及的计算以保持我的动画循环清晰。这是我的代码:

var lastLoop = new Date();

function frameRate() {
    var newLoop = new Date();
    return Math.floor(1000 / (newLoop - lastLoop));
    lastLoop = newLoop;
}


function animate() {
    requestAnimationFrame(animate);

    if (!hits) {
        //game loop

        frameRate.innerHTML = `Frame rate: ${frameRate()}`;
    }
}

结果是 fps 从 3 或 4 开始,然后最终减少到 0。这里有什么问题?提前致谢!

标签: javascriptfunctionframe-rate

解决方案


推荐阅读