Что не так с моим кодом при расчете fps? - PullRequest
0 голосов
/ 16 января 2019

Я делал свою собственную версию Flappy Bird и пытался добавить калькулятор fps.

Так что это очень просто, и даже в стеке потока уже есть ответ, объясняющий, как вычислять 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. Что здесь не так? Заранее спасибо!

...