intermediate

Repaints и reflows

Понимайте работу style, layout, paint и compositing при изменении размера, позиции, цвета, теней или transforms.

Pipeline рендеринга превращает DOM и CSS в пиксели: пересчёт style, layout (reflow), paint и compositing. Разные изменения свойств запускают разные фазы.

| Примеры изменений | Типичная работа | |-------------------|-----------------| | `width`, `font-size`, `display` | style + layout + paint (+ composite) | | `color`, `box-shadow` | style + paint (+ composite) | | `transform`, `opacity` | style + composite (часто) |

					.promoted {
  will-change: transform; /* только hint — умеренно */
  transform: translateZ(0);
}
				

Продвижение слоёв помогает анимации, но увеличивает память. Профилируйте в Performance и Rendering до микрооптимизаций.

На интервью: различайте стоимость layout, paint и composite — не каждая анимация одинаково дорога.

Компромисс: продвижение слоёв для плавной анимации против роста потребления памяти.

Типовые ошибки: will-change везде; вера что GPU-слои всегда быстрее; оптимизация без данных профилирования.

Чеклист:

  • Какую фазу запускает ваше изменение.
  • Compositor-friendly свойства для motion.
  • Профилируйте до поиска bottleneck.
  • Память при избыточном layer promotion.