Все статьи

Введение в метрику INP: новый Core Web Vital для оценки отзывчивости

·MAGMA

С 12 марта 2024 года набор ключевых показателей веб-производительности Core Web Vitals пополнился новой метрикой — Interaction to Next Paint (INP), которая официально заменила First Input Delay (FID). Это не просто переименование, а существенное изменение подхода к измерению отзывчивости веб-страниц. INP теперь является основным показателем интерактивности в таких инструментах, как PageSpeed Insights и Search Console.

Что именно измеряет INP

INP оценивает отзывчивость интерфейса — время между действием пользователя и моментом, когда браузер отрисовывает следующий кадр, отражающий результат этого действия. Метрика учитывает дискретные взаимодействия: клики, нажатия на сенсорных экранах и нажатия клавиш. При этом такие действия, как наведение курсора и прокрутка, не влияют на INP, поскольку метрика фокусируется на преднамеренных жестах, которые предполагают немедленную обратную связь.

Каждое взаимодействие в рамках INP анализируется по трём фазам:

  • Задержка ввода — время ожидания освобождения основного потока
  • Время обработки — выполнение связанных обработчиков событий
  • Задержка отображения — подготовка к следующему отрисовке кадра

Итоговое значение латентности взаимодействия определяется самой медленной из этих фаз.

Как рассчитывается итоговое значение INP

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

Оценка в полевых условиях использует 75-й процентиль загрузок страниц (с разделением на мобильные и десктопные данные), что соответствует подходу для других Core Web Vitals. Установлены следующие пороговые значения:

  • Хорошо — ≤ 200 мс
  • Требует улучшений — 200–500 мс
  • Плохо — > 500 мс

Почему INP заменила FID

Переход от FID к INP обусловлен необходимостью более полной оценки пользовательского опыта. В то время как FID измеряла только задержку первого ввода, INP анализирует все значимые взаимодействия на протяжении всего сеанса. Это позволяет получить более репрезентативную картину отзывчивости интерфейса, особенно для сложных веб-приложений с интенсивным взаимодействием.

INP учитывает не только начальную задержку, но и время обработки событий, а также задержку отображения результата. Такой комплексный подход помогает выявить реальные проблемы с производительностью, которые могут негативно влиять на пользовательский опыт даже после успешной загрузки страницы.

Практические аспекты работы с INP

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

Оптимизация INP часто связана с улучшением работы основного потока браузера, оптимизацией JavaScript-кода, уменьшением времени выполнения обработчиков событий и минимизацией задач, блокирующих рендеринг. Особое внимание следует уделять сложным интерактивным элементам, таким как раскрывающиеся меню, формы с валидацией и динамически обновляемые интерфейсы.

Приоритизация исправлений должна основываться на анализе конкретных взаимодействий, которые вносят наибольший вклад в плохие показатели INP. Инструменты разработчика в современных браузерах уже включают функциональность для детального анализа фаза каждого взаимодействия, что значительно упрощает диагностику проблем.

Вернуться к блогу