1. INP(Interaction to Next Paint)取代 FID 成为 Core Web Vitals 的原因?INP 的测量口径与优化路径(拆分长任务/scheduler.yield)?
INP(Interaction to Next Paint)为什么取代 FID 成为 Core Web Vitals?它的测量口径与优化路径是什么?
- INP 取代 FID 的原因:覆盖全部交互与响应性
- INP 的测量口径:取最差交互的完整响应延迟
- 优化路径:拆分长任务、scheduler.yield
INP(Interaction to Next Paint)取代 FID 成为 Core Web Vitals,是因为 FID 只测量"首次输入"到事件处理开始前的输入延迟,无法反映事件处理与呈现时长,也无法覆盖后续交互,不能全面刻画页面响应性;INP 测量页面生命周期内所有交互(含最差一次)从输入到下一帧绘制的完整延迟,覆盖输入延迟、处理时长与呈现延迟,更真实地反映用户体验。INP 于 2024 年正式纳入 Core Web Vitals,Good 阈值 ≤200ms(p75)。
测量口径:取一段时间内所有交互的 INP 值的 p75 分位数(最差交互近似),每个交互的 INP = 输入延迟 + 处理时长 + 呈现延迟。优化路径:拆分长任务(把 >50ms 的任务切分成短任务,让主线程及时处理输入与绘制)、用 scheduler.yield 主动让步、减少主线程阻塞、简化事件处理、移除重型第三方脚本、降低渲染开销。核心是让交互在可接受延迟内完成。
本题考察 INP 取代 FID 的原因与测量、优化方法:INP 覆盖全部交互的完整响应延迟,分段测量并取 p75,优化聚焦拆分长任务与让步。回答应体现对指标演进与交互延迟治理的完整理解。