Я пытался исследовать, как использовать requestAnimationFrame, и я очень запутался.
Согласно Mozilla, если у вас есть функция анимации называется «шаг», который вы вызываете с помощью requestAnimationFrame(step)
, step
принимает аргумент, который представляет собой число миллисекунд, аргумент DOMHighResTimeStamp.
И все же каждый пример использования requestAnimationFrame, который я видел в Интернете, не использует этот аргумент. В некоторых примерах утверждается, что вы можете предположить, что функция step
будет выполняться 60 раз в секунду, поэтому они вообще не используют никаких концепций time
. Другие получают свое собственное «количество миллисекунд» отдельно от аргумента, используя new Date();
- я полагаю, что достаточно легко изменить эти примеры, чтобы вместо этого использовать аргумент.
Можно ли предположить, что функция будет выполняться 60 раз в секунду? Кажется... неразумным для меня. Mozilla говорит "Число обратных вызовов обычно составляет 60 раз в секунду, но обычно соответствует частоте обновления экрана в большинстве веб-браузеров в соответствии с рекомендацией W3C", что меня не устраивает в этом предположении. Есть ли причина, по которой люди используют свой собственный new Date()
способ получения миллисекунд, а не аргумент?