Встречается на собеседованиях • сегодня

Сколько будет repaint в один кадр

Браузер стремится выполнить только один repaint за кадр (16.6 мс при 60 FPS). Однако, если в одном кадре происходит несколько изменений стилей, которые влияют на отображение, браузер объединяет их в один repaint для оптимизации.

Пример:

javascript
// Будет один repaint, несмотря на два изменения
element.style.color = 'red';
element.style.backgroundColor = 'blue';

Исключение: если изменения происходят асинхронно или с задержкой (например, через requestAnimationFrame), может быть несколько repaint'ов.

javascript
// Может вызвать два repaint'а
requestAnimationFrame(() => {
  element.style.color = 'red';
  
  requestAnimationFrame(() => {
    element.style.backgroundColor = 'blue';
  });
});

Для минимизации repaint'ов лучше группировать изменения DOM и стилей.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы