盒子
文章目录
  1. 它正在发生吗?
  2. 它是否有用?
  3. 它是否令人愉快的
  4. 它是否可用 ?
  5. 思考

前端性能量化标准读后感

祭出原 issue 👉 前端性能量化标准

它正在发生吗?

FP:First paint 第一个像素绘制时间
FCP:First Content paint 首次内容绘制时间

  1. window.performance.getEntriesByType(‘paint’)

  2. 当然也可以使用 lighthouse,
    这里我全局安装的 lighthouse

它是否有用?

FMP: First meaningful paint
hero element timing

Lighthouse 使用的算法是:页面绘制布局「变化」最大的那次绘制(根据 页面高度/屏幕高度 调节权重)

它是否令人愉快的

Long tasks。

JS 线程与 GUI 线程互斥。JS 如果在执行,那么渲染线程就会被阻塞。如果一个 LT 超过 50 ms ,就说明这个线程有问题。

它是否可用 ?

TTI:Time to interactive(页面已经渲染并且可以响应用户交互)。不能响应用户的原因有:

  1. JS 的资源还未加载完。
  2. Long Task 阻塞了主线程

思考

当然这片文章还提出了一些优化策略,优化过程应该是一个全链路的解决方案。

关于测量标准记录这些,策略手段我想我的学习清单又是一篇长笔记!