Ответ
requestAnimationFrame
— это метод JavaScript, который позволяет выполнять анимации и другие операции, требующие перерисовки экрана, синхронизированными с частотой обновления браузера (обычно 60 FPS).
Преимущества:
- Оптимизирует производительность, избегая лишних перерисовок.
- Автоматически приостанавливается при скрытии вкладки.
Пример использования:
function animate() {
// Логика анимации
element.style.left = (parseInt(element.style.left) + 1) + 'px';
// Запускаем следующий кадр
requestAnimationFrame(animate);
}
// Старт анимации
requestAnimationFrame(animate);
Альтернатива: setTimeout
/setInterval
, но они не синхронизированы с рендерингом и могут вызывать лаги.