以前にもこのような質問がいくつかあったことは知っています。たとえば、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);
}
setTimeout 関数を 1 ミリ秒の速度に設定するのは正しいですか? これにより、可能な限り高速にループできるようになると考えていました。
100 フレームごとに数える必要がありますか? この計算はどうなりますか?
結果をより正確にするために、1 つのフレームが大幅に異なる可能性があるため、平均を表示する必要があると推測しています。これを行うにはどうすればよいですか?
どんなヒントでも大歓迎です。
ありがとう。