От чего зависит отрисовка DOM дерева

«От чего зависит отрисовка DOM дерева» — вопрос из категории Архитектура, который задают на 10% собеседований Frontend Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Отрисовка DOM-дерева зависит от нескольких факторов:

  1. Размер DOM – чем больше элементов, тем дольше парсинг и рендеринг.
  2. Сложность CSS – глубокие селекторы и сложные стили замедляют отрисовку.
  3. Рефлоу (reflow) – изменение геометрии элементов (ширина, высота, позиция) вызывает пересчёт макета.
  4. Репинт (repaint) – изменение визуальных свойств (цвет, тень) без изменения макета.
  5. Оптимизации браузера – например, will-change или transform: translateZ(0) ускоряют рендеринг.

Пример плохой практики:

// Вызывает множественные рефлоуы
for (let i = 0; i < 100; i++) {
  element.style.width = `${i}px`;
}

Лучше использовать requestAnimationFrame или batch-изменения.