От нажатия до кадра: весь путь по этапам
Десять этапов одного клика и то, что от них остаётся при втором заходе.
// одно нажатие, десять этапов
Вы нажали на видео. Дальше начинается путь через все уровни, которые разбирал цикл: транзисторы под пальцем, прерывание, планировщик и процессы, DNS, рукопожатия, пакеты, декодер в видеокарте и дисплейный контроллер. Открывайте этапы по одному, а потом переключите проход на повторное посещение и посмотрите, чего в нём не будет.
Холодный старт: все кэши пусты, соединений нет.
-
Нажатие железо и ОС 1-5 мс
Палец меняет ёмкость в точке касания, контроллер трекпада считает координаты и поднимает прерывание. Процессор откладывает текущую задачу, сохраняет состояние и уходит в обработчик.
-
Браузер ОС и процессы 1-5 мс
Оконный менеджер находит окно по координатам, событие уходит в процесс-рендерер нужной вкладки, там срабатывает обработчик и начинается переход по адресу.
-
DNS: куда лететь сеть 0-120 мс
Кэш браузера, кэш системы, роутер, резолвер провайдера, а при полном обходе - корневой сервер, сервер зоны и авторитативный сервер.
-
Рукопожатие TCP сеть 20-80 мс
SYN, SYN-ACK, ACK - и между сторонами появляется надёжное соединение с номерами пакетов и подтверждениями.
-
Рукопожатие TLS сеть 40-120 мс
Сервер присылает сертификат, браузер проверяет подпись и срок, стороны вырабатывают сессионный ключ, дальше всё шифруется быстрым AES.
-
Запрос страницы сеть 20-100 мс
GET уходит на сервер, обратно приходят HTML, код плеера и манифест с вариантами качества.
-
Сегмент видео из CDN сеть 10-50 мс
Сам видеопоток идёт не из центра, а с ближайшего узла сети доставки - возможно, из соседней страны.
-
Декодирование железо, GPU меньше 1 мс на кадр
Аппаратный декодер видеокарты разбирает H.264, VP9 или AV1 почти без нагрузки на процессор, кадры появляются прямо в видеопамяти.
-
Композитинг ОС и железо меньше 1 мс
Оконный менеджер накладывает кадр видео на интерфейс браузера и остальные окна и кладёт результат во фреймбуфер.
-
Экран железо 1-16 мс
Дисплейный контроллер читает фреймбуфер построчно и гонит сигнал на монитор. При 60 Гц экран обновляется 60 раз в секунду.
До первого кадра около 0,5-1 с. Большую часть времени занимают DNS и TLS.
Кэш DNS ещё жив, соединение уже открыто, QUIC умеет возобновлять знакомое соединение без повторного рукопожатия.
-
Нажатие железо и ОС 1-5 мс
Палец меняет ёмкость в точке касания, контроллер трекпада считает координаты и поднимает прерывание. Процессор откладывает текущую задачу, сохраняет состояние и уходит в обработчик.
-
Браузер ОС и процессы 1-5 мс
Оконный менеджер находит окно по координатам, событие уходит в процесс-рендерер нужной вкладки, там срабатывает обработчик и начинается переход по адресу.
-
DNS: куда лететь сеть этап отпал
адрес уже лежит в кэше браузера, спрашивать некого
-
Рукопожатие TCP сеть этап отпал
соединение с этим сервером уже открыто
-
Рукопожатие TLS сеть этап отпал
QUIC возобновляет знакомое соединение без повторного рукопожатия (0-RTT)
-
Запрос страницы сеть 20-100 мс
GET уходит на сервер, обратно приходят HTML, код плеера и манифест с вариантами качества.
-
Сегмент видео из CDN сеть 10-50 мс
Сам видеопоток идёт не из центра, а с ближайшего узла сети доставки - возможно, из соседней страны.
-
Декодирование железо, GPU меньше 1 мс на кадр
Аппаратный декодер видеокарты разбирает H.264, VP9 или AV1 почти без нагрузки на процессор, кадры появляются прямо в видеопамяти.
-
Композитинг ОС и железо меньше 1 мс
Оконный менеджер накладывает кадр видео на интерфейс браузера и остальные окна и кладёт результат во фреймбуфер.
-
Экран железо 1-16 мс
Дисплейный контроллер читает фреймбуфер построчно и гонит сигнал на монитор. При 60 Гц экран обновляется 60 раз в секунду.
До первого кадра 100-200 мс. Именно поэтому YouTube всегда открывается быстрее второй раз, чем первый.
Времена перенесены из итоговой таблицы статьи как есть и не складываются: итог у каждого прохода отдельный, тоже из статьи. Ширина кусочков на полосе условная - она показывает, какие этапы весомее, а не точные доли секунды. И числа сами по себе не приговор: при плохой связи или далёком сервере всё растягивается, а при быстрой сети ужимается.
Интерактив разработан ANY.BY - ремонт компьютеров и ноутбуков в Барановичах. © 2008-2026. Источник: any.by/demo/ot-nazhatiya-do-kadra