Callback requestAnimationFrame выполняется на этапе обновления представления перед соответствующей отрисовкой, а не в обычной очереди таймеров.
Как requestAnimationFrame соотносится с event loop и рендерингом браузера? Когда выполняется его callback?
Callback requestAnimationFrame выполняется на этапе обновления представления перед соответствующей отрисовкой, а не в обычной очереди таймеров.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Callback requestAnimationFrame выполняется на этапе обновления представления перед соответствующей отрисовкой, а не в обычной очереди таймеров.
Браузер не обязан рисовать после каждой задачи, а в скрытой вкладке rAF может приостанавливаться. Для повторения нужно снова запросить кадр; анимацию рассчитывают по времени, иначе скорость зависит от частоты экрана.