
下次绘制交互 (INP)
了解下次绘制交互(INP),这一核心网页生命力指标如何衡量页面响应性。理解 INP 的工作原理、为何取代 FID,以及如何优化 INP 以提升 SEO 与用户体验。...

首次输入延迟(FID)是一项网页性能指标,用于衡量用户首次与网页交互(如点击或轻触)到浏览器主线程开始处理该交互之间的时间。它反映了网站在关键加载阶段的响应速度。
首次输入延迟(FID)是一项网页性能指标,用于衡量用户首次与网页交互(如点击或轻触)到浏览器主线程开始处理该交互之间的时间。它反映了网站在关键加载阶段的响应速度。
首次输入延迟(FID) 是以用户为中心的网页性能指标,用于衡量用户首次与网页交互到浏览器主线程开始处理该交互事件之间经过的时间。当用户在网页上点击链接、轻触按钮或按下按键时,他们期望立即获得反馈。**FID 捕捉了浏览器因忙于执行其他任务而无法立即响应用户输入时产生的响应间隙。**该指标尤为重要,因为它反映了关键页面加载阶段(JavaScript 正在解析和执行时)用户的真实体验。FID 以毫秒为单位进行测量,仅代表交互生命周期中的输入延迟部分,并不包括完成交互或显示视觉反馈所需的总时间。对于希望打造响应迅速、用户友好的网页体验、提升用户黏性的开发者和性能工程师来说,理解FID至关重要。
首次输入延迟于2020年作为核心网页指标被谷歌提出,旨在解决衡量网页真实交互性的需求。在FID出现之前,开发者主要依赖如“可交互时间(TTI)”等实验室指标,这些指标并未捕捉到页面交互时的真实用户体验。该指标的设计初衷是弥补性能测量中的关键空白,专注于用户对网站响应性的第一印象。数年来,FID作为谷歌核心网页指标框架中的主要响应性指标,影响了搜索排名,并推动了性能优化实践的广泛应用。然而,研究和真实数据揭示了FID方法的局限性——它只测量首次交互,未涵盖完整事件处理生命周期。根据2024年HTTP Archive性能报告,大约68%的桌面网站和51%的移动网站达到了良好的FID分数,显示网页性能优化取得了显著进展。FID优化的广泛采用总体提升了网页响应性,尽管该指标的局限性促使谷歌开发了更全面的继任者。
FID通过测量两个关键时间戳之间的差值来运作:一个是浏览器接收到输入事件的时刻,另一个是主线程开始处理该事件的时刻。当用户与网页交互时,浏览器会将交互事件排队,等待主线程完成当前任务后,才能执行相关事件处理程序。主线程是浏览器执行解析HTML、执行JavaScript、样式重计算和布局渲染等关键任务的单线程环境。如果主线程被长时间运行的JavaScript任务占用,输入事件就只能在队列中等待,从而产生FID所测量的延迟。这种测量方式虽然简单却非常有效:如果用户在1000毫秒时点击按钮,而浏览器主线程在1050毫秒时可用,则FID值为50毫秒。虽然这种延迟对用户来说是隐形的,但会直接影响感知性能——用户会注意到点击没有立即反馈。FID专门排除了实际处理事件和更新视觉显示所需的时间,只关注等待阶段。这种设计旨在避免开发者通过异步手段规避问题,反而影响用户体验。
| 指标 | 测量内容 | 类型 | 范围 | 阈值 | 状态 |
|---|---|---|---|---|---|
| 首次输入延迟 (FID) | 用户输入到浏览器开始处理的时间 | 真实环境 | 仅首次交互 | ≤100毫秒(优秀) | 已弃用(被INP取代) |
| 交互到下次绘制 (INP) | 包括输入、处理和视觉反馈的完整交互周期 | 真实环境 | 所有交互(最差情况) | ≤200毫秒(优秀) | 当前核心网页指标 |
| 总阻塞时间 (TBT) | 页面加载期间所有长任务的阻塞时间总和 | 实验室 | 页面加载阶段 | ≤300毫秒(优秀) | FID的实验室代理 |
| 可交互时间 (TTI) | 页面何时变得完全可交互和响应式 | 实验室 | 页面加载阶段 | ≤3.8秒(优秀) | 传统指标 |
| 首次内容绘制 (FCP) | 首次内容出现在屏幕上的时间 | 真实/实验室 | 初始渲染 | ≤1.8秒(优秀) | 核心网页指标 |
| 最大内容绘制 (LCP) | 最大内容元素可见时的时间 | 真实/实验室 | 主要内容渲染 | ≤2.5秒(优秀) | 核心网页指标 |
首次输入延迟直接影响用户满意度和转化率,因为它决定了网站是响应迅速还是迟钝。研究表明,用户会因为网站不响应而放弃访问,即使仅有100-300毫秒的延迟也会引起明显的不满。当用户点击按钮却迟迟没有反馈,常常会多次点击,导致重复提交或导航错误。高FID值与跳出率升高和用户参与度下降密切相关,尤其是在用户对延迟容忍度较低的移动设备上。从业务角度看,糟糕的FID表现会影响搜索排名,因为谷歌将核心网页指标(包括FID)纳入排名算法。FID分数优秀的网站可获得更好的SEO曝光、更高的搜索点击率和更好的用户留存。该指标也是诊断工具——高FID值说明主线程被JavaScript阻塞,帮助开发者定位优化方向。对电商、SaaS和内容平台而言,优化FID可直接提升转化率和用户生命周期价值。
不同设备和网络环境下FID表现差异明显,因此需根据设备类型和网络速度细分分析性能。移动设备由于处理能力和内存有限,通常比桌面设备有更高的FID值,更容易受到主线程阻塞的影响。同样的JavaScript代码在桌面上可能影响不大,但在中低端移动设备上会造成明显的FID问题,而这些设备占据全球大量流量。网络状况也会间接影响FID——网络越慢,JavaScript文件下载越慢,主线程解析和执行时间越长。不同浏览器在FID测量上的差异很小,因为该指标依赖标准化API,但不同浏览器对JavaScript执行的处理略有差异,导致实际FID表现有所不同。Chrome、Edge等Chromium内核浏览器表现相近,而Firefox和Safari可能有所不同。支持FID测量的事件时序API在现代浏览器中基本可用,但在某些情况下(如跨域iframe)FID测量可能不完整。开发者应按设备类别和浏览器类型细分分析FID数据,以发现平台特有的优化空间。
降低首次输入延迟需要多维度优化JavaScript、任务管理和资源传递。代码分割 是最有效的策略之一——将JavaScript拆分为只在需要时加载的小块,而非一次性加载庞大包。这保证关键交互相关的JavaScript能尽快加载,其他功能异步加载。将长任务拆分为小于50毫秒的小块,让浏览器能在任务间响应用户输入,极大改善响应性。开发者可用setTimeout、requestIdleCallback或现代async/await等技术让主线程及时空闲。延迟非关键JavaScript加载(如使用defer属性或动态导入),确保主线程不被非必要脚本阻塞。压缩与混淆可减小文件体积,加速JavaScript下载与解析。采用Brotli等现代压缩算法比gzip可再减小15-20%的包体。Web Workers 可将计算密集型任务转至后台线程,主线程专注用户交互。懒加载推迟图片和非关键资源加载,减轻主线程初始负担。优化事件处理,通过防抖和节流减少高频事件的函数调用。删除无用JavaScript(如tree-shaking和代码消除)可减少浏览器需处理的代码量。为滚动和触控事件使用被动监听器,告知浏览器无需等待监听器完成就可执行默认行为,从而实现流畅滚动。
2024年3月,谷歌正式以交互到下次绘制(INP)取代首次输入延迟(FID)作为核心网页指标中的响应性指标,标志着网页性能测量方式的重要演变。FID仅衡量首次交互的输入延迟,而INP则测量整个页面生命周期中所有用户交互的完整过程。INP包括三个阶段:输入延迟(与FID类似)、处理延迟(事件处理时间)以及呈现延迟(布局和绘制时间)。这种更广泛的测量方式弥补了FID只关注首次交互的局限,因为用户更关心所有交互的整体响应性。转变体现了行业对用户体验全貌的重视——页面即便FID优秀,但如果事件处理或布局渲染缓慢,整体响应性依然较差。对开发者而言,这意味着优化策略要从单纯减少主线程阻塞扩展到高效事件处理和优化渲染管线。不过,FID优化的底层原理在INP中依然适用,减少主线程阻塞依然是基础。许多针对FID优化的网站,INP分数也随之提升,但还需进一步优化以解决处理和呈现延迟。
首次输入延迟只能通过真实用户在现场测量,因为它依赖实际的页面交互。多种工具和方法可用于FID测量和监控。谷歌PageSpeed Insights 提供来自Chrome用户体验报告(CrUX)的FID数据,聚合了数百万Chrome用户的真实性能。Search Console核心网页指标报告 显示你网站页面的FID表现,并按设备和URL细分。web-vitals JavaScript库(由谷歌维护)可编程测量FID并发送到分析平台。真实用户监控(RUM)平台如Datadog、New Relic等,也可收集真实用户的FID数据并提供详细分析和告警。开发者可通过事件时序API和PerformanceObserver接口直接在JavaScript中获取first-input条目,包括startTime(输入发生时间)和processingStart(开始处理时间),计算FID为两者之差。但需注意诸多细节:FID不应统计在后台标签页加载的页面、首次输入前已后台化的页面及部分iframe(但指标应包含这些情况)。**总阻塞时间(TBT)**是优秀的实验室FID代理,与真实FID高度相关,有助于开发和测试阶段发现性能瓶颈。
首次输入延迟的影响远超被INP取代本身,它从根本上改变了Web开发社区对性能测量与优化的思考。FID引入了以真实用户体验为核心的测量理念,开创了INP等现场指标持续演进的先河。它强调了页面内容可见与完全可交互之间的关键性能空白,推动了代码分割、懒加载和JavaScript优化的普及,为数百万网站带来了响应性提升。转向INP是性能测量的自然演化,从测量单次交互到全面捕捉所有交互的响应表现。随着Web应用日益复杂和交互性增强,性能指标也会持续进化,捕捉用户体验中更细致的方面,如持续交互期的响应性、动画流畅度、第三方脚本对整体响应性的影响等。致力于FID优化的开发者也为INP打下了坚实基础,因为减少主线程阻塞和优化JavaScript执行依然是达成优秀INP分数的核心。Web性能社区对FID和INP等以用户为中心指标的关注,已形成性能优先的开发文化,造福所有用户,尤其是慢设备和慢网络用户。
首次输入延迟(FID)只衡量用户首次交互的延迟,而交互到下次绘制(INP)则衡量整个页面生命周期内所有交互的完整响应性。INP考虑输入延迟、处理延迟和呈现延迟,提供了更全面的交互性视角。从2024年3月起,INP已取代FID成为官方核心网页指标。
根据谷歌核心网页指标指南,优秀的FID分数为100毫秒或以下。网站应确保至少75%的页面加载达到此阈值,无论是在移动端还是桌面端。分数在100-300毫秒之间需要改进,而高于300毫秒则被认为较差,需要优化。
JavaScript的执行会直接影响FID,因为当浏览器主线程忙于解析、编译或执行JavaScript代码时,无法响应用户交互。大型JavaScript包、长时间运行的任务和低效代码都会导致更高的FID值。通过代码分割、压缩和延迟非关键脚本等优化手段,可显著降低FID。
FID只能通过真实用户在实际环境中测量,因为它需要真实的用户交互。不过,开发者可以使用总阻塞时间(TBT)作为实验室可测的代理指标,与FID高度相关。Lighthouse、PageSpeed Insights和Chrome DevTools等工具可帮助识别影响FID的性能问题。
高FID主要由长时间运行的JavaScript任务阻塞主线程、大型未优化的JavaScript包、阻塞渲染的CSS和脚本、繁重的第三方脚本(广告、分析)、低效的事件处理程序以及移动设备优化不足等因素引起。此外,复杂的DOM结构和过多的事件监听器也会增加主线程负担,导致输入延迟。
FID直接影响用户体验,因为它决定了网站对用户操作的响应速度,影响感知性能和用户满意度。谷歌将FID(现在是INP)作为搜索结果排名因素,糟糕的FID分数会对SEO表现产生负面影响。FID分数优秀的网站能带来更好的用户体验,并可能在搜索结果中排名更高。
多种工具可以测量FID,包括谷歌的PageSpeed Insights、Chrome用户体验报告(CrUX)、Search Console核心网页指标报告、web-vitals JavaScript库,以及真实用户监控(RUM)平台。实验室测试可使用Lighthouse的Timespan功能。AmICited可帮助你监控FID性能在AI生成响应和引用中的表现。

了解下次绘制交互(INP),这一核心网页生命力指标如何衡量页面响应性。理解 INP 的工作原理、为何取代 FID,以及如何优化 INP 以提升 SEO 与用户体验。...

页面速度衡量网页加载的快慢。了解核心网页指标、页面速度为何对SEO和转化率重要,以及如何优化加载性能。

核心网页指标是 Google 的三项关键指标,用于衡量页面加载、交互性和视觉稳定性。了解 LCP、INP、CLS 阈值及其对 SEO 和 AI 搜索可见性的影响。...
Cookie 同意
我们使用 cookie 来增强您的浏览体验并分析我们的流量。 See our privacy policy.