INP 与现代性能指标

共 18 题
📑 题目列表 18 题
#
★★★

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,优化聚焦拆分长任务与让步。回答应体现对指标演进与交互延迟治理的完整理解。

#
★★★

2. LCP 优化的四段拆解(TTFB/资源加载延迟/加载时长/渲染延迟)与各段的针对性手段?

LCP 优化的四段拆解(TTFB/资源加载延迟/加载时长/渲染延迟)是什么?各段的针对性手段有哪些?

  • LCP 时间拆分为四段
  • TTFB、资源加载、加载时长、渲染延迟
  • 各段的针对性优化手段

LCP(Largest Contentful Paint)优化可拆为四段时间:TTFB(Time to First Byte)——从发起请求到收到首字节,瓶颈在服务器、CDN、网络,手段是优化后端响应、启用 CDN/边缘缓存、HTTP/2、Early Hints、减少重定向;资源加载延迟——从收到 HTML 到开始加载 LCP 资源,瓶颈是资源发现与优先级,手段是 preload 提前加载关键资源、把 LCP 图片放 HTML 头部、去掉阻塞 CSS/JS;资源加载时长——LCP 资源本身的下载时间,手段是压缩图片(AVIF/WebP)、响应式尺寸、格式优化、CDN 加速;渲染延迟——资源到达后到绘制完成的时间,瓶颈是渲染阻塞与样式计算,手段是减少阻塞脚本、优化关键 CSS、避免布局抖动。

工程上先用 PerformanceObserver 或 Lighthouse 定位 LCP 落在哪一段,再对症优化;四段对应"网络→发现→下载→渲染"四个环节,逐段压缩可显著降低 LCP。

本题考察 LCP 的四段拆解:TTFB、资源加载延迟、加载时长、渲染延迟各有针对性手段。回答应说明分段与对应优化,体现对 LCP 优化的体系化理解。

#
★★★

3. LoAF(Long Animation Frames)API 如何辅助 INP 调试,如何识别阻塞交互的长任务、第三方脚本和渲染耗时?LoAF 与 PerformanceObserver 的配合使用?

LoAF(Long Animation Frames)API 如何辅助 INP 调试?如何识别阻塞交互的长任务、第三方脚本和渲染耗时?LoAF 与 PerformanceObserver 如何配合?

  • LoAF 识别长动画帧与阻塞来源
  • 识别第三方脚本与渲染耗时
  • 与 PerformanceObserver 配合采集

LoAF(Long Animation Frames)API 标记超过 50ms 的长动画帧,并提供分段信息:duration、startTime、以及 scripts 数组(每个 script 的 startTime、duration、attribution 来源)。用它调试 INP:把 INP 差的交互与同时间窗的 LoAF 条目关联,识别是哪个脚本——第一方还是第三方(如 ads、analytics)——占用了主线程,以及渲染/样式计算耗时。LoAF 的 scripts attribution 能定位到具体脚本 URL 与执行时长,辅助定位阻塞交互的长任务来源。

与 PerformanceObserver 配合:用 PerformanceObserver 注册观察 'long-animation-frame' 条目,在运行时实时收集 LoAF 数据;结合采样上报(只上报超阈值样本),把 LoAF 与 INP 的 eventEntry 匹配,形成"交互→长帧→阻塞脚本→代码行"的诊断链路。LoAF 是 INP 调试的"显微镜",定位到具体来源后针对性优化。

本题考察 LoAF 辅助 INP 调试:识别长任务、第三方脚本与渲染耗时,配合 PerformanceObserver 采集形成诊断链路。回答应说明 LoAF 的分段归因与采集配合,体现对交互延迟定位工具的理解。

#
★★★

4. React/Vue 框架中优化 INP 的实践,React 的 startTransition/useDeferredValue、Vue 的异步组件和虚拟列表如何降低交互延迟?

React/Vue 框架中如何优化 INP?React 的 startTransition/useDeferredValue、Vue 的异步组件和虚拟列表如何降低交互延迟?

  • React 的 startTransition/useDeferredValue 分紧急与非紧急更新
  • Vue 的异步组件与虚拟列表
  • 框架级交互延迟优化

React 中优化 INP:startTransition 把非紧急更新(如列表过滤、搜索结果)标记为"transition",可被中断,让出主线程优先处理紧急更新(输入、点击),从而降低交互延迟;useDeferredValue 产生延迟值(deferred value),让高成本计算延迟更新,避免阻塞输入。二者都把"非关键渲染"降级为可中断/可延迟,使交互被及时处理。

Vue 中:异步组件(defineAsyncComponent)按需加载,减少首屏与交互时主线程负担;虚拟列表(如 vue-virtual-scroller、TanStack Virtual)只渲染视口内项,避免渲染大量 DOM 导致交互卡顿。框架层面共同思路:减少单次交互引发的重型渲染、把长渲染拆分/降级、缩小渲染范围,从而把交互延迟控制在 INP 阈值内。

本题考察框架层 INP 优化:React 的 transition/deferredValue 降级非紧急更新,Vue 的异步组件与虚拟列表减负。回答应说明各机制如何降低交互延迟,体现对框架并发渲染与性能工程的理解。

#
★★★

5. INP(Interaction to Next Paint)的度量,交互延迟与响应性?

INP(Interaction to Next Paint)的度量是什么?它如何衡量交互延迟与响应性?

  • INP 度量交互到下一帧的延迟
  • 交互延迟的组成与响应性
  • 取p75与最差交互

INP(Interaction to Next Paint)度量用户交互(点击、按键、触摸)到页面完成下一次绘制(next paint)的延迟,反映页面在交互后的响应性。单次交互的 INP = 输入延迟(Input Delay,事件处理前主线程占用)+ 处理时长(Processing Time,事件回调执行)+ 呈现延迟(Presentation Delay,到下一帧绘制)。页面 INP 取所有交互中"最差"者的 p75 分位数(近似的 p75),即长期观察值。INP 的 Good 阈值 ≤200ms,反映用户感知的响应速度。

响应性含义:INP 衡量"交互是否有及时反馈"——延迟越低,用户感觉页面越跟手。工程上通过减少主线程阻塞、拆分长任务、优化事件处理来降低 INP,使交互延迟可见、可优化。

本题考察 INP 的度量口径:交互到下一帧的延迟、分段组成、取 p75 最差交互。回答应说明度量定义与响应性含义,体现对交互性能指标的理解。

#
★★

6. Core Web Vitals 演进,LCP/CLS/INP 的优化优先级?

Core Web Vitals 演进:LCP/CLS/INP 的优化优先级是什么?

  • 三大 CWV 的当前构成(LCP/INP/CLS)
  • 各指标的优化优先级权衡
  • 按业务场景确定优先级

Core Web Vitals 由 FID 演进为 INP,当前由 LCP(加载性能)、INP(交互响应性)、CLS(视觉稳定性)构成。优化优先级没有绝对顺序,需结合业务与现状:若页面加载慢(LCP 差),优先提升 LCP 影响首屏体验与转化;若交互卡顿(INP 差),优先优化 INP 影响操作响应;若页面跳动(CLS 差),优先减少布局偏移。一般先解决"最差且最影响业务"的指标,再逐步提升其他。

工程上:先用 RUM 数据看三项指标分布与阈值达标情况,确定短板;按影响面(转化率、留存)与优化成本排序;把三项纳入性能预算与 CI 门禁,持续回归。优先级是"数据驱动 + 业务导向"的动态决策,而非固定顺序。

本题考察 CWV 的演进与优化优先级:LCP/INP/CLS 构成,优先级按数据与业务确定。回答应说明演进与优先级决策方法,体现对性能指标治理的战略理解。

#
★★

7. SPA 软导航(soft navigation)下 LCP 测量口径的最新变更,Chrome 软导航启发式与 Soft Navigation API 如何影响 LCP/CLS/INP 的字段数据归因?

SPA 软导航(soft navigation)下 LCP 测量口径有何最新变更?Chrome 软导航启发式与 Soft Navigation API 如何影响 LCP/CLS/INP 的字段数据归因?

  • 软导航的定义与 SPA 路由切换
  • Chrome 软导航启发式与 Soft Navigation API
  • 对 LCP/CLS/INP 字段归因的影响

SPA 软导航(soft navigation)指不刷新页面、仅通过 JS 切换路由的导航。传统 Web Vitals 只按整页加载测量,SPA 内多次路由切换的 LCP/CLS/INP 无法被正确归因。Chrome 引入软导航启发式(soft navigation heuristics)与 Soft Navigation API:通过 URL 变化、DOM 变化、用户交互等启发式识别软导航起点,为每次路由切换建立独立的"软导航"测量分段,使 LCP/CLS/INP 按软导航重新归因。

影响:字段数据(RUM/CrUX)中,每个软导航都有独立的 LCP(该次路由的最大内容)、CLS(该次导航的偏移)、INP(该次导航的交互),避免把多次路由的指标混在整页加载中,归因更准确。工程上需配合 Soft Navigation API 或 web-vitals 的软导航支持,精确监测 SPA 的路由性能。

本题考察 SPA 软导航下的测量归因:软导航启发式与 API 为每次路由建立独立测量分段,影响 LCP/CLS/INP 字段归因。回答应说明软导航机制与归因影响,体现对现代 SPA 性能测量的理解。

#
★★

8. bfcache(往返缓存)的命中条件与被禁用的常见原因排查?

bfcache(往返缓存)的命中条件与被禁用的常见原因是什么?如何排查?

  • bfcache 缓存页面状态供往返恢复
  • 命中条件与禁用原因
  • 排查与优化

bfcache(Back/Forward Cache)把页面完整状态(DOM、JS 状态、滚动位置)缓存,用户前进/后退时立即恢复,无需重新加载,显著提升往返性能。命中条件:页面可被完整冻结并恢复——无未释放的监听器依赖、无未完成网络请求、无 event 监听要求激活、无 WebSocket 等活跃连接、页面未使用会阻止缓存的特征。禁用常见原因:监听 unload/beforeunload(部分场景)、页面有活跃 WebSocket/IndexedDB 事务、使用了 cache-control: no-store、存在未清理的监听器、有第三方 iframe 未配合。

排查:Chrome DevTools 的 Application 面板或 Performance 面板可查看 bfcache 命中/未命中原因,Chrome 会报告"Not restorable"的具体原因;用页面生命周期与 bfcache 事件(pageshow/pagehide)监控。优化:移除 unload 监听、改用 pagehide、清理活跃连接、合理设置缓存头,提升 bfcache 命中率。

本题考察 bfcache 的命中条件与禁用原因:可完整冻结恢复才命中,活跃连接/未清理监听器等禁用,用 DevTools 排查。回答应说明条件与排查优化,体现对往返缓存的理解。

#
★★

9. Speculation Rules API 的预渲染(prerender)与传统 prefetch 的差异?

Speculation Rules API 的预渲染(prerender)与传统 prefetch 的差异是什么?

  • Speculation Rules API 声明式预取/预渲染
  • prerender 与 prefetch 的差异
  • 预渲染的成本与场景

Speculation Rules API 通过

本题考察 Speculation Rules 的 prerender 与 prefetch 差异:prefetch 只取资源,prerender 完整渲染零延迟跳转但成本高。回答应说明差异与使用场景权衡,体现对预取/预渲染技术的理解。

#
★★

10. INP 与 TBT(Total Blocking Time)的关系,为什么实验室指标 TBT 无法完全替代字段指标 INP?两者在优化方向上的一致性?

INP 与 TBT(Total Blocking Time)的关系是什么?为什么实验室指标 TBT 无法完全替代字段指标 INP?两者在优化方向上的一致性如何?

  • TBT 是实验室指标、INP 是字段指标
  • TBT 只看加载期长任务阻塞、INP 看交互响应
  • 优化方向一致但口径不同

TBT(Total Blocking Time)是实验室指标(Lighthouse),计算页面加载期间主线程被长任务(>50ms)阻塞的总时间(各长任务的阻塞部分之和),衡量"加载期主线程繁忙程度";INP 是字段指标(RUM),衡量"真实用户在交互中的响应延迟"。TBT 无法完全替代 INP:TBT 只覆盖加载阶段,不覆盖加载后用户交互时的阻塞;TBT 是合成模拟,无法反映真实设备、网络与用户交互模式;TBT 不直接度量交互的呈现延迟。两者口径不同,不能直接等价。

优化方向一致性:两者都导向"减少主线程阻塞、拆分长任务、降低渲染开销"——优化 TBT 的长任务,通常也改善 INP;但 INP 还需关注交互路径本身(事件处理、第三方脚本)。工程上把 TBT 作 Lab 门禁、INP 作 Field 验证,共同指导交互与加载性能优化。

本题考察 TBT 与 INP 的关系:TBT 是 Lab 加载期指标、INP 是 Field 交互指标,口径不同不能替代,但优化方向一致。回答应说明差异与一致性,体现对 Lab/Field 指标体系的理解。

#
★★

11. INP 的三段拆解(Input Delay / Processing Duration / Presentation Delay),每段的常见瓶颈和优化手段(事件委托、scheduler.yield、减少重排)?

INP 的三段拆解(Input Delay / Processing Duration / Presentation Delay)每段的常见瓶颈和优化手段是什么?

  • 三段拆解的定义
  • 各段瓶颈
  • 事件委托、scheduler.yield、减少重排等优化手段

INP 三段拆解:Input Delay(输入延迟)——用户交互到事件处理开始前,瓶颈是主线程正被其他任务(长任务)占用,优化是减少主线程阻塞、用 scheduler.yield 主动让步、让主线程及时响应事件;Processing Duration(处理时长)——事件回调执行时间,瓶颈是回调逻辑过重、DOM 操作多、事件绑定过多,优化是事件委托(减少监听器数量)、精简回调、避免在回调中做重型计算与同步重排;Presentation Delay(呈现延迟)——事件处理后到下一帧绘制,瓶颈是渲染/样式/布局慢,优化是减少重排重绘、用合成属性动画、把渲染工作拆分。

针对性手段:先测量各段占比(attribution),再对长的一段重点优化;结合事件委托、scheduler.yield、减少重排统一降低三段延迟,使交互响应更快。

本题考察 INP 三段拆解与优化:输入延迟、处理时长、呈现延迟各有瓶颈与手段(事件委托、yield、减少重排)。回答应说明各段与对应优化,体现对交互延迟归因的深度理解。

#

12. INP 的字段数据(Field Data)采集与分析,CrUX/RUM 中 INP 的 p75 阈值(200ms/500ms)含义、设备类型和连接速度对 INP 分布的影响?

INP 的字段数据(Field Data)如何采集与分析?CrUX/RUM 中 INP 的 p75 阈值(200ms/500ms)含义、设备类型和连接速度对 INP 分布的影响是什么?

  • INP 字段数据采集(CrUX/RUM)
  • p75 阈值 200ms/500ms 的含义
  • 设备类型与连接速度的影响

INP 字段数据通过 RUM(web-vitals 的 onINP)与 CrUX(Chrome 汇总数据)采集真实用户的 INP。p75 阈值:Good ≤200ms、Needs Improvement 200~500ms、Poor >500ms,即统计周期的 p75 分位数——若 75% 用户的交互 INP 低于该值则达标。阈值用于反映"大多数用户"的体验,而非最差用户。

设备类型与连接速度影响 INP 分布:低端设备 CPU 弱、主线程处理慢,Processing Duration 更长,INP 更差;慢速连接导致加载延迟、资源加载慢,可能推高输入延迟与渲染;移动设备与桌面差异显著。分析时需按设备、网络、地域维度切分 INP,识别"哪类用户最差",针对性地优化(如低端设备降级、减少重型计算)。

本题考察 INP 字段数据采集与分析:RUM/CrUX 采集、p75 阈值含义、设备与网络影响。回答应说明阈值语义与维度分析,体现对字段数据治理的理解。

#

13. 性能指标的测量,PerformanceObserver 与 lab/field 数据?

性能指标的测量:PerformanceObserver 与 lab/field 数据之间是什么关系?

  • PerformanceObserver 采集性能条目
  • lab 与 field 数据来源
  • 测量工具与数据口径

PerformanceObserver 是浏览器提供的性能条目观察 API,通过注册观察特定类型(如 navigation-timing、resource-timing、paint-timing、longtask、event-timing)实时采集性能数据,是 RUM 前端采集的核心工具。lab 数据(合成监测,如 Lighthouse/WebPageTest)在可控环境用 PerformanceObserver/DevTools 测量,可复现;field 数据(RUM)在真实用户环境用 PerformanceObserver 采集,反映真实分布。

关系:PerformanceObserver 是数据采集的底层机制,lab 与 field 都基于它(或等价 API)获取指标;区别在于测量环境与口径——lab 可控、field 真实。工程上用 PerformanceObserver 部署 RUM 上报,用 lab 工具做回归,二者数据结合形成完整性能观测。

本题考察 PerformanceObserver 与 lab/field 数据的关系:PO 是采集机制,lab/field 是不同环境的口径。回答应说明采集机制与数据来源差异,体现对性能测量体系的理解。

#

14. 长任务的拆分,时间切片与并发渲染?

长任务的拆分:时间切片与并发渲染是什么?如何优化?

  • 时间切片拆分长任务
  • 并发渲染(concurrent rendering)机制
  • 让主线程及时处理交互

长任务拆分把超过 50ms 的任务切成多个短任务,让主线程在片段之间处理输入与绘制,从而降低交互延迟。时间切片(Time Slicing)是手动/工具的拆分策略:把大循环或大计算分批执行(chunking),每批之间用 scheduler.yield、setTimeout 或 requestIdleCallback 让出主线程,使交互可被及时处理。并发渲染(Concurrent Rendering)指框架(如 React 的并发特性)把渲染工作拆成可中断、可优先级的单位,让紧急更新(输入)优先于非紧急渲染(transition),本质也是"时间切片"在渲染层的实现。

工程上:对重型计算用时间切片/Worker;对框架渲染用并发特性(startTransition)降级非紧急更新;核心是让主线程不被单个长任务占满,保证交互响应速度。

本题考察长任务拆分:时间切片手动分批、并发渲染框架级拆分,都让出主线程处理交互。回答应说明两种机制与优化,体现对交互延迟治理的理解。

#

15. 优化 INP 的手段,事件委托、懒执行与主线程降载?

优化 INP 的手段:事件委托、懒执行与主线程降载是什么?

  • 事件委托减少监听器与回调开销
  • 懒执行延迟非关键工作
  • 主线程降载(Worker、卸载)

优化 INP 的手段包括:事件委托——把多个子元素的事件绑定收敛到父元素一个监听器,减少监听器数量与事件处理开销,降低处理时长;懒执行——把非关键工作(非首屏渲染、预计算、分析上报)延迟到空闲或用户交互后执行,避免挤占交互路径,可用 requestIdleCallback、懒加载、按需渲染;主线程降载——把重型计算(解析、加密、图片处理)移到 Web Worker,减少主线程阻塞,或延迟初始化、卸载第三方脚本,让主线程更空闲以快速响应交互。

三者的共同目标是减少交互时主线程的忙与重:事件委托减处理开销、懒执行推迟非关键、降载移走重型工作,配合长任务拆分,把 INP 控制在阈值内。

本题考察 INP 优化手段:事件委托、懒执行、主线程降载。回答应说明各手段如何降低交互延迟,体现对交互性能优化实践的理解。

#

16. 性能预算与 CI 门禁,Lighthouse 与 Web Vitals 集成?

性能预算与 CI 门禁如何与 Lighthouse 及 Web Vitals 集成?

  • 性能预算设定
  • Lighthouse CI 门禁
  • Web Vitals 集成与回归

性能预算与 CI 门禁用来防止性能回归。设定预算:为 LCP、INP、CLS、TTFB、JS 体积、资源数量等设定阈值(如 LCP <2.5s、JS 传输 <300KB)。CI 门禁:用 Lighthouse CI 在每次构建/PR 时跑 Lighthouse,用 performance-budget.json 声明预算,超预算则 CI 失败,阻断合入;或用 size-limit/bundlesize 检查产物体积。Web Vitals 集成:把 Core Web Vitals(LCP/INP/CLS)纳入预算与门禁,CI 用 Lab 数据(Lighthouse)验证,生产用 RUM(web-vitals)验证,两者结合做 Lab 门禁 + Field 验证。

工程上通过 CI 门禁把性能基线固化到开发流程,防止代码合入导致性能退化;配合基准对比(与基线 diff)与告警,构建持续的性能治理闭环。

本题考察性能预算与 CI 门禁:设定预算、Lighthouse CI 门禁、Web Vitals 集成做 Lab+Field 验证。回答应说明机制与落地,体现对性能工程化治理的理解。

#

17. 第三方脚本(广告/分析/嵌入组件)对 INP 的影响归因,LoAF 与 Event Timing 的 third-party 分类如何定位与治理长任务来源?

第三方脚本(广告/分析/嵌入组件)对 INP 的影响如何归因?LoAF 与 Event Timing 的 third-party 分类如何定位与治理长任务来源?

  • 第三方脚本对 INP 的影响
  • LoAF 与 Event Timing 的 third-party 分类
  • 定位与治理长任务来源

第三方脚本(广告、分析、嵌入组件)常是 INP 恶化的主因之一:它们加载并执行会占用主线程、产生长任务,阻塞交互。归因:LoAF 的 scripts attribution 提供每个脚本的 URL 与执行时长,可把长任务分类为第一方/第三方;Event Timing 的 attribution 也包含目标元素与事件来源,可识别第三方触发的事件。按 third-party 分类(如 script 来源域名)可定位"哪个第三方脚本导致哪次长任务/交互变慢"。

治理:对高频且耗时的第三方脚本做降级(延迟加载、按需加载、降级为异步/非阻塞)、移除不必要脚本、用更轻量的替代、把第三方脚本移到 Worker 或懒加载;对必须保留的第三方设预算与监控。通过 LoAF/Event Timing 归因 + 治理,可显著降低第三方脚本对 INP 的影响。

本题考察第三方脚本的 INP 归因与治理:LoAF 与 Event Timing 分类脚本来源,定位后降级/移除/懒加载。回答应说明归因方法与治理措施,体现对第三方性能治理的理解。

#

18. Speed Index(SI)作为实验室指标如何由视频帧的视觉完整性(visual completeness)曲线计算(约每 100ms 采样未完成百分比并积分),它与 LCP 的度量口径差异在哪,为什么只能用于同环境对比而不能作为字段指标?

Speed Index(SI)作为实验室指标如何计算?它与 LCP 的度量口径差异在哪?为什么只能用于同环境对比而不能作为字段指标?

  • Speed Index 由视觉完整性曲线计算
  • 与 LCP 的度量口径差异
  • 只能用于同环境对比的原因

Speed Index(SI)是实验室指标,通过记录页面加载过程的视频帧,计算每个采样点的"视觉完整性"(visual completeness,页面呈现完整度的百分比),约每 100ms 采样一次,对"未完成百分比"随时间积分,得到 SI 得分(越小越好)。它衡量页面"视觉上完成加载"的速度,反映整个首屏的渐进呈现过程,而非单一元素。

与 LCP 差异:LCP 只关注"最大内容元素"首次渲染的时间点,是单点指标;SI 关注整个视觉呈现曲线的完整性,是整体指标。SI 依赖视频帧与视觉分析,计算成本高、依赖固定环境,无法在真实用户环境(无视频帧、无标准环境和设备)可靠采集,因此只能用于同环境(Lab)对比——同一环境、同一配置下可复现、可比较,跨环境不可比(设备/网络/视口不同会导致 SI 偏差大),故不作为字段指标。

本题考察 Speed Index 的计算与局限:由视觉完整性曲线积分、与 LCP 单点差异、依赖视频帧只能用于同环境 Lab 对比。回答应说明计算、口径差异与不能作字段指标的原因,体现对实验室指标特性的理解。