我知道之前有过像这样的问题,比如这样:检查JS中的FPS? - 在某种程度上确实有效,我能够找出每个循环完成的时间.
我正在寻找的是更具可读性和可控性的东西.我希望能够设置FPS计数器的刷新率使其变慢,因此它是人类可读的或者应用程序可以运行的速度,因此我可以在某种速度计上使用它.
无论如何所以这里是我现在的代码:
var lastLoop = new Date().getTime();
function updateStage()
{
clearCanvas();
updateStageObjects();
drawStageObjects();
var thisLoop = new Date().getTime();
var fps = (thisLoop - lastLoop);
$('#details').html(fps);
lastLoop = thisLoop;
iteration = setTimeout(updateStage, 1);
}
Run Code Online (Sandbox Code Playgroud)
我是否正确将setTimeout函数设置为1毫秒的速度?我以为这会让它尽可能快地循环.
我应该每隔100帧计算一次,找出运行100帧所需的毫秒数,然后进行计算以找出如果毫秒为1000则会完成多少帧?这个计算是什么?
为了使结果更准确,我猜我需要显示平均值,因为一帧可以变化很大,我应该怎么做?
任何提示都非常感谢.
谢谢.