Перейти к содержимому
4.1. От транзистора до YouTube

От нажатия до кадра: весь путь по этапам

Десять этапов одного клика и то, что от них остаётся при втором заходе.

// одно нажатие, десять этапов

Вы нажали на видео. Дальше начинается путь через все уровни, которые разбирал цикл: транзисторы под пальцем, прерывание, планировщик и процессы, DNS, рукопожатия, пакеты, декодер в видеокарте и дисплейный контроллер. Открывайте этапы по одному, а потом переключите проход на повторное посещение и посмотрите, чего в нём не будет.

Этап 0

Холодный старт: все кэши пусты, соединений нет.

  1. Нажатие железо и ОС 1-5 мс

    Палец меняет ёмкость в точке касания, контроллер трекпада считает координаты и поднимает прерывание. Процессор откладывает текущую задачу, сохраняет состояние и уходит в обработчик.

  2. Браузер ОС и процессы 1-5 мс

    Оконный менеджер находит окно по координатам, событие уходит в процесс-рендерер нужной вкладки, там срабатывает обработчик и начинается переход по адресу.

  3. DNS: куда лететь сеть 0-120 мс

    Кэш браузера, кэш системы, роутер, резолвер провайдера, а при полном обходе - корневой сервер, сервер зоны и авторитативный сервер.

  4. Рукопожатие TCP сеть 20-80 мс

    SYN, SYN-ACK, ACK - и между сторонами появляется надёжное соединение с номерами пакетов и подтверждениями.

  5. Рукопожатие TLS сеть 40-120 мс

    Сервер присылает сертификат, браузер проверяет подпись и срок, стороны вырабатывают сессионный ключ, дальше всё шифруется быстрым AES.

  6. Запрос страницы сеть 20-100 мс

    GET уходит на сервер, обратно приходят HTML, код плеера и манифест с вариантами качества.

  7. Сегмент видео из CDN сеть 10-50 мс

    Сам видеопоток идёт не из центра, а с ближайшего узла сети доставки - возможно, из соседней страны.

  8. Декодирование железо, GPU меньше 1 мс на кадр

    Аппаратный декодер видеокарты разбирает H.264, VP9 или AV1 почти без нагрузки на процессор, кадры появляются прямо в видеопамяти.

  9. Композитинг ОС и железо меньше 1 мс

    Оконный менеджер накладывает кадр видео на интерфейс браузера и остальные окна и кладёт результат во фреймбуфер.

  10. Экран железо 1-16 мс

    Дисплейный контроллер читает фреймбуфер построчно и гонит сигнал на монитор. При 60 Гц экран обновляется 60 раз в секунду.

До первого кадра около 0,5-1 с. Большую часть времени занимают DNS и TLS.

Кэш DNS ещё жив, соединение уже открыто, QUIC умеет возобновлять знакомое соединение без повторного рукопожатия.

  1. Нажатие железо и ОС 1-5 мс

    Палец меняет ёмкость в точке касания, контроллер трекпада считает координаты и поднимает прерывание. Процессор откладывает текущую задачу, сохраняет состояние и уходит в обработчик.

  2. Браузер ОС и процессы 1-5 мс

    Оконный менеджер находит окно по координатам, событие уходит в процесс-рендерер нужной вкладки, там срабатывает обработчик и начинается переход по адресу.

  3. DNS: куда лететь сеть этап отпал

    адрес уже лежит в кэше браузера, спрашивать некого

  4. Рукопожатие TCP сеть этап отпал

    соединение с этим сервером уже открыто

  5. Рукопожатие TLS сеть этап отпал

    QUIC возобновляет знакомое соединение без повторного рукопожатия (0-RTT)

  6. Запрос страницы сеть 20-100 мс

    GET уходит на сервер, обратно приходят HTML, код плеера и манифест с вариантами качества.

  7. Сегмент видео из CDN сеть 10-50 мс

    Сам видеопоток идёт не из центра, а с ближайшего узла сети доставки - возможно, из соседней страны.

  8. Декодирование железо, GPU меньше 1 мс на кадр

    Аппаратный декодер видеокарты разбирает H.264, VP9 или AV1 почти без нагрузки на процессор, кадры появляются прямо в видеопамяти.

  9. Композитинг ОС и железо меньше 1 мс

    Оконный менеджер накладывает кадр видео на интерфейс браузера и остальные окна и кладёт результат во фреймбуфер.

  10. Экран железо 1-16 мс

    Дисплейный контроллер читает фреймбуфер построчно и гонит сигнал на монитор. При 60 Гц экран обновляется 60 раз в секунду.

До первого кадра 100-200 мс. Именно поэтому YouTube всегда открывается быстрее второй раз, чем первый.

Времена перенесены из итоговой таблицы статьи как есть и не складываются: итог у каждого прохода отдельный, тоже из статьи. Ширина кусочков на полосе условная - она показывает, какие этапы весомее, а не точные доли секунды. И числа сами по себе не приговор: при плохой связи или далёком сервере всё растягивается, а при быстрой сети ужимается.

Интерактив разработан - ремонт компьютеров и ноутбуков в Барановичах. © 2008-2026. Источник: any.by/demo/ot-nazhatiya-do-kadra