Встречается на собеседованиях • сегодня
Какие были проблемы с анимацией до requestAnimationFrame
До requestAnimationFrame анимации делали через setInterval или setTimeout, что вызывало несколько проблем:
- Точность таймеров - браузеры ограничивают минимальную задержку (обычно 4мс), что делало анимации менее плавными.
-
Просадки FPS - если вкладка неактивна, таймеры продолжали работать, тратя ресурсы впустую.
-
Рассинхронизация с монитором - анимации не были привязаны к частоте обновления экрана (обычно 60Hz), что вызывало "дрожание".
Пример проблемного кода:
js
// Плохая практика
setInterval(() => {
element.style.left = (parseInt(element.style.left) + 1) + 'px';
}, 16); // Попытка имитировать 60fpsrequestAnimationFrame решает эти проблемы, синхронизируясь с частотой обновления экрана и автоматически паузируясь при скрытии вкладки.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы