前端性能指标

885 阅读1分钟

FP 首次绘制,FCP 首次内容绘制,FMP 首次有效绘制,TTI 交互时间

CDN 七牛云 又拍云

图片

1、格式问题 

jpg png webp

 方法:

gzip

 1.node 压缩图片 

npm i compression

 2. CDN里定制格式

防止重复打包

webpack analizy包图

性能优化工具

1. lighthouse 报告

2. chrome :show coverage / performance

统计

重定向 fetch redirect

DNS   domainLookup

TCP  connection

发送请求  Request

响应 Response

Dom parse  Ddomloading DomInteractive domContentLoaded

render  domComplete

首屏

1.prerenderer

2.静态化 ?

3.同构(SSR+SPA)综合体

http2  雪碧图 反模式

可以算出的指标都是硬性的

和交互相关的,需要别的方式来统计FMP, first meaningful paint

dom 体积变化最大的元素 useful

www.w3.org/TR/navigati…

Navigation Timing attributes

设计FMP 的算法

所有html出来后,没法知道谁是最重要的节点

1. 页面进入 使用mutationObserver

2.对变化的dom打上标记

3. 文档的load触发

4.遍历dom tree

5. 根据元素的可视区域,计算元素的权重

6.遍历父元素,对比合并

7.get一下权重最高的

8.判断是否加载完毕

是不是img video audio 这种资源标签,资源加载时间performace.getEntries

只是单纯的dom,时间-dom变化

算出fmp

简单粗暴的计算:

mutationObserver首屏load出来80% 就算