性能优化

网络层面 浏览器渲染 构建层面 服务端层面

1.资源的合并与压缩

2.图片的编码以及类型选择

3.浏览器渲染机制

4.懒加载预加载

5.浏览器存储

6.缓存机制

7.pwa

8.ssr

chrome - performance layers
基础优化 进阶优化 结合服务端优化

资源的合并与压缩

问题:浏览器一个请求从发送到返回都经历了什么?
输入url→domain发送到dns服务器→ip地址返回给浏览器→经过局域网交换机路由器主干网络到达服务器→服务器逻辑处理请求分发数据读取渲染的数据通过网络返回给浏览器→render→dom树css树整合渲染dom节点及样式→执行js脚本
优化点:dns缓存 网络请求(cdn[静态资源 网络选择 缓存]) 接口(浏览器端缓存策略) 带宽(http请求相对较小) 网络损耗(多次http请求合并成一次)渲染(vue,react框架首屏损耗过大 首屏服务端渲染)

减少http请求数量,减少请求资源大小

html压缩 (空格 制表符 换行符 html注释)
css压缩 (无效代码的删除 css语义合并)
js的压缩和混乱 (无效字符的删除 提出注释 代码语义的缩减和优化 代码保护)
文件合并 (存在的问题:首屏渲染问题 缓存失效问题)(公共库合并 不同页面的合并)(浏览器同一个域名下并发请求资源数量有限)
开启gzip

图片

jpg压缩率高 不支持透明(大部分不需要透明图片的业务场景)
png支持透明 兼容性好(大部分需要透明图片的业务场景)
webp压缩程度更好 ios有兼容问题(安卓全部)
svg代码内嵌 相对较小 场景简单(图片样式相对简单的业务场景)

css雪碧图:减少http请求数量 缺点整合图片比较大 一次加载慢
image inline: base64 减少http请求数量
使用矢量图
在安卓下使用webp

浏览器渲染

html页面加载渲染的过程: dom, cssom→render tree→layout→paint
html渲染过程的特点:顺序执行,并发加载(引入很多cssjs外部资源 并发限制 三到四个cdn) 是否阻塞 依赖关系(js异步加载放弃了依赖关系) 引入方式(异步加载 动态引入)
css阻塞:css head中阻塞页面的渲染 css阻塞js的执行 css不阻塞外部脚本的加载
js阻塞:直接引入(没有defer async)的js会阻塞页面渲染 js不阻塞资源的加载 顺序执行
图片预加载原理:img标签display none image()对象 xmrhttprequest(跨域)

css性能让js变慢?
一个线程→js解析
一个线程→UI渲染
ui渲染的时候js是冻结的 js执行时ui线程也是冻结的
频繁出发重绘与回流 会导致ui频繁渲染 js执行变慢
优化css写法 性能

回流: render tree中一部分因元素尺寸 布局或者隐藏改变需要重构
重绘: render tree中一些元素需要更新属性 知识影响外观 风格 比如backgound-color

回流必定引起重绘 重绘不一定引起回流
触发页面重布局的属性:

盒模型相关属性
定位属性及浮动
改变节点内部文字结构

chrome创建图层的条件:
perspective tranform
video
canvas

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,948评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,371评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,490评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,521评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,627评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,842评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,997评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,741评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,203评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,534评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,673评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,339评论 4 330
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,955评论 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,770评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,000评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,394评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,562评论 2 349