Interaction to Next Paint (INP) — это метрика, предназначенная для измерения отзывчивости страницы на действия пользователя. Она заменяет First Input Delay (FID), поскольку FID фиксировал только задержку между первым взаимодействием пользователя и моментом, когда браузер начал обрабатывать это событие. FID ограничен одной точкой взаимодействия, что делает его недостаточным для оценки реальной интерактивности страницы в целом.
INP учитывает все взаимодействия пользователя, включая клики, нажатия клавиш и другие события ввода, и фиксирует максимальное время отклика среди них. Таким образом, INP отражает не только первую задержку, но и поведение страницы в течение всего сеанса, предоставляя более точную картину пользовательского опыта.
Метрика INP рассчитывается следующим образом:
Сбор всех интерактивных событий на странице. К
интерактивным относятся события click,
keydown, pointerdown и
touchstart.
Замер времени обработки каждого события, включая:
delay);duration).Выбор критического события для INP:
Таким образом, INP становится статистически стабильной метрикой, отражающей задержки, которые реально заметны пользователю.
Недостатки FID:
INP устраняет эти ограничения, предоставляя:
Библиотека Web Vitals предоставляет удобный способ интеграции INP в JavaScript-код:
import { getINP } from 'web-vitals';
getINP((metric) => {
console.log('INP:', metric.value);
// metric.name - название метрики
// metric.value - время отклика в миллисекундах
// metric.entries - массив событий, участвующих в расчете
});
Особенности API:
metric.entries содержит подробную информацию о каждом
событии: startTime, processingStart,
duration. Это позволяет анализировать конкретные узкие
места в интерактивности страницы.Для современных сайтов INP становится ключевой метрикой производительности, особенно для SPA (Single Page Applications), где большое количество интерактивных элементов загружается динамически.
Оптимизация INP включает:
requestIdleCallback и
setTimeout для низкоприоритетных задач;Сравнение INP с FID позволяет выявить случаи, когда первая задержка была низкой, но последующие события значительно тормозят взаимодействие пользователя.
INP напрямую влияет на оценку пользовательского опыта в Core Web Vitals. Метрики LCP, CLS и INP формируют полное представление о загрузке, визуальной стабильности и интерактивности страницы. INP становится ключевым компонентом для SEO и пользовательской удовлетворенности, поскольку Google учитывает её при ранжировании сайтов в поисковой выдаче.
INP позволяет измерять реальные пользовательские сценарии, а не только синтетические события, что делает его современным стандартом оценки интерактивности.