Interaction to Next Paint (INP)
ユーザーの操作(クリック、タップ、キー入力)に、ページがどれだけ素早く視覚的に応答するかを、入力から次に描画されるフレームまでで測るCore Web Vitalである。応答性、つまり「もたつき」の感覚を測り、2024年にFirst Input Delay (FID)に代わった。目標は200ミリ秒未満。
測るのは、各操作について、ユーザーが操作してから画面が反応して更新されるまでの時間で、INPは訪問中の(おおよそ)最悪の操作を報告する。「アプリが重い、もたつく」という感覚をそのまま捉える。置き換えたFIDとの違いは、FIDが最初の操作だけ、しかも入力遅延だけを測ったのに対し、INPはすべての操作を次の描画まで測る点で、はるかに実態に即している。
よくある原因は、メインスレッドの占有である。長く走る重いJavaScriptがあると、ブラウザは応答も描画もできない。最適化は、長いタスクの分割(メインスレッドへの譲渡、scheduler.yield)、重い処理のWeb Workerへの移動、不要なレンダリングの回避、重要でない処理の後回し(requestIdleCallback)である。3つのCore Web Vitalsの一つで、しばしば最も直しにくい。