Orion's Studio.

性能优化相关

2024/05/01

页面优化

相关指标

用户体验指标

  • FP(First Paint):首次绘制时间,即浏览器首次将像素绘制到屏幕的时间。即白屏结束时间。
  • FCP(First Contentful Paint):首次内容绘制时间,即浏览器首次绘制 DOM 元素的时间。
  • FMP(First Meaningful Paint):首次有意义的绘制时间,即首次有意义的内容绘制到屏幕的时间。Lighthouse 6.0 已弃用,优先使用 LCP。
  • LCP(Largest Contentful Paint):最大内容绘制时间,即页面中最大的元素绘制到屏幕的时间。即首屏结束时间。
  • TTI(Time To Interactive):首次可交互时间,即页面变得可交互的时间。从 FCP 开始计算。
  • FID(First Input Delay):首次输入延迟,即用户首次与页面交互到页面响应的时间。记录 FCP 到 TTI 的时间。

性能指标

  • TTFB(Time To First Byte):从发起请求到接收到第一个字节的时间。
  • TBT(Total Blocking Time):总阻塞时间,即页面上所有长任务的总和。
  • CLS(Cumulative Layout Shift):累计布局位移,即页面上所有元素的布局位移的总和,得分越小越稳定,应努力<0.1。

页面加载指标

  • DomLoading:开始解析 HTML 文档的时间。即 document.readyState 变为 loading 的时间,相应的 document.readystatechange 事件触发的时间。
  • DomInteractive:DOM 可交互时间,即 DOM 解析完成的时间,但是诸如图像、样式表和框架之类的子资源还在加载。即 document.readyState 变为 interactive 的时间,相应的 document.readystatechange 事件触发的时间。此时 defer 的 js 还未执行,没有 defer 时等同于 DOMContentLoaded。
  • DOMContentLoaded:DOM 加载完成时间,即 DOM 树构建完成的时间。即 document.DOMContentLoaded 事件触发的时间。此时 defer 的 js 已执行完毕。但是图片等资源还未加载完成。
  • DomComplete:DOM 完成时间,即 DOM 加载完成且所有资源(如图片、样式表等)也加载完成的时间。即 document.readyState 变为 complete 的时间,相应的 document.readystatechange 事件触发的时间。
  • Load:页面完全加载时间,即页面上所有资源加载完成的时间。即 window.onload 事件触发的时间,同样也是 document.readyState 变为 complete 的时间。

相关 API

Performance

PerformanceNavigationTiming。替代 Performance.timing。兼容性还不太行。

CATALOG
  1. 1. 页面优化
    1. 1.0.1. 相关指标
      1. 1.0.1.1. 用户体验指标
      2. 1.0.1.2. 性能指标
      3. 1.0.1.3. 页面加载指标
    2. 1.0.2. 相关 API
      1. 1.0.2.1. Performance