交互响应时间(INP)是一个稳定的Core Web Vitals指标,用于通过Event Timing API中的数据来评估网页的响应速度。INP会监测用户与网页进行的所有交互的延迟时间,并报告几乎所有交互所低于的单个值。INP值越低,意味着网页能够始终快速响应所有或绝大多数的用户互动。
什么是INP
INP(Interaction to Next Paint)是一项通过观察用户在访问网页期间所发生的所有点击、点按和键盘互动的延迟时间,以评估网页对用户互动的整体响应情况的指标。最终的INP值是经过去除离群值后,观测到的最长互动时间。
互动是指在同一逻辑用户手势期间所触发的一组事件处理脚本。例如,触摸屏设备上的“点按”互动包括多个事件,如pointerup、pointerdown和click。互动可以通过JavaScript、CSS、内置浏览器控件(如表单元素)或其组合来实现。互动延迟时间是指从用户开始互动到浏览器下次能够绘制帧的时刻之间,所产生的一系列触发互动的事件处理脚本中的单个最长时长。
INP和FID(First Input Delay)的主要区别是:
INP是FID(首次输入延迟)的后继指标。尽管这两者均为响应速度指标,但FID仅衡量网页上首次互动的输入延迟。INP通过观察网页上所有互动的过程(从输入延迟开始,到执行事件处理脚本所需的时间,最终到浏览器绘制下一个帧为止)来改进FID。
这些差异表明,INP和FID是不同类型的响应性指标。如果FID旨在评估网页对用户的第一印象加载响应性,则INP则是更为可靠的整体响应指标,考虑了整个页面生命周期中的网页互动。
INP得分参考值
为确保提供响应迅速的用户体验,一个合适的衡量阈值是网页响应时间的第75个百分位数:
INP低于或等于200毫秒表示网页响应速度良好。
如果INP高于200毫秒但低于500毫秒,则表示网页的响应速度需要改进。
INP超过500毫秒表示网页响应缓慢。
如何获取INP
INP是通过观察用户与网页之间的各种互动而计算得出的。对于大多数网站,INP会报告延迟时间最长的互动。然而,对于互动频繁的网页,随机卡顿现象可能会导致原本响应迅速的网页出现异常高的互动延迟时间。在特定网页上发生的互动越多,这种情况发生的可能性就越大。
为了更准确地评估互动量较高网页的实际响应速度,我们将忽略每50次互动中的1次延迟最高的互动。绝大多数网页的互动次数不会超过50次,因此通常会报告表现最差的互动。随后,通过统计所有网页浏览的第75百分位数,进一步滤除离群值,以更真实地反映大多数用户的体验。