awesome-everything EN
↑ Обратно к восхождению

Браузер и фронтенд-рантайм

Render pipeline: тест с выбором ответа

Суть Тест с выбором на синтез по всему юниту render pipeline — стоимость стадий, радиус инвалидации, compositor layers, layout thrashing и production-телеметрия.
Высота — путь к senior
НольJuniorMiddleSenior
Ты на senior-высоте — в орбите
◷ 13 min

Шесть вопросов поперёк всего pipeline. Каждый отражает решение, которое ты принимаешь в реальном расследовании джанка — не стадию для называния, а стоимость для прогноза и фикс для ранжирования.

Цель

Убедись, что связываешь шесть стадий, правила инвалидации, compositor layers, layout thrashing и production-метрики — тот синтез, к которому вели отдельные уроки.

Викторина

Обработчик скролла анимирует элемент списка, записывая element.style.top каждый кадр, и страница дёргается на среднем телефоне. Коллега говорит: это на компоненте композитинга, значит дело в GPU. Почему он неправ?

Викторина

Страница рендерит ленту из 10 000 строк. style + layout на первой отрисовке стоят 1 200 мс. Нужна быстрая первая отрисовка без виртуализации (без переписывания DOM). Какое одно изменение даёт максимальный рычаг?

Викторина

Ты добавляешь will-change: transform на одну карточку в ленте ради плавного hover. DevTools Layer Borders теперь показывает сорок promoted-боксов. Почему и какова стоимость?

Викторина

Main thread заблокирован на 400 мс синхронным JSON.parse. CSS-анимация на transform продолжает идти 60 fps; командная rAF-анимация на том же элементе застывает. Каков механизм?

Викторина

Production RUM сообщает p75 INP 340 мс, тогда как Lighthouse в офисе ставит 95. Обработчик клика читает getBoundingClientRect(), а затем пишет стили в цикле. Как это читать и куда смотреть первым делом?

Викторина

Слушатель touchmove добавлен без { passive: true } на контейнере скролла, и fps скролла обваливается на мобильном. Что изменилось в pipeline?

Итог

Сквозная линия юнита — одна цепочка решений: свойство, которое ты меняешь, выбирает стадию для инвалидации (transform = composite, color = paint, top/width = layout), dirty bits текут вниз по потоку, а containment или content-visibility ограничивают радиус поражения. Compositor layers дёшевы для движения, но дороги для удержания, overlap rule промоутит соседей, которых ты не просил, layout thrashing берётся из чтения геометрии после записи, а INP плюс LoAF замыкают петлю от production-телеметрии назад к конкретной стадии. Спрогнозируй стадию, ранжируй фикс, затем тянись к compositor.

Продолжить восхождение ↑Render pipeline: тест на свободное вспоминание
хоткеи развернуть
поиск
K
пред. пьеса
k
след. пьеса
j
тиры
t
это меню
?
sources3
expand
  1. 01
  2. 02
  3. 03

Trademarks belong to their respective owners. Editorial reference only.