浏览器渲染流程

渲染流水线

生成dom树

根据html生成dom树

生成cssom树

解析css生成一颗cssom树

复制代码
document.styleSheets

构建布局树-layout

根据dom树与cssom树构建一棵layout布局树,会移除不可见部分, 如display:none的dom, 但visible: hidden这种会保留

同时会计算可见部分的几何位置

划分图层-layer

页面的显示其实是类似于photoshop多图层模式

不同的元素或显示情况对应不同的图层, 根据图层最后合成一张图片

绘制-paint

为每个图层生成包含绘制信息的绘制列表, 将绘制列表提交给渲染进程的合成线程用于绘制

重排、重绘、合成

重排

修改dom的几何属性时,会触发完整的渲染流水线,此情况成为重排

重绘

修改的dom属性不涉及几何属性,会省略layout、layer,此过程称为重绘

合成

修改的属性不涉及上述重排重绘的属性时,省略layout、layer、paint,仅执行合成线程的绘制工作

这种情况称为合成

如transform属性

相关推荐
han_32 分钟前
前端遇到页面卡顿问题,如何排查和解决?
前端·javascript·性能优化
changuncle2 小时前
Angular初学者入门第一课——搭建并改造项目(精品)
javascript·ecmascript·angular.js
海天胜景3 小时前
vue3 el-table 去除小数 并使用千分号
javascript·vue.js·elementui
中等生4 小时前
一文搞懂 JavaScript 原型和原型链
前端·javascript
黑椒牛肉焖饭4 小时前
web第一次作业
前端·javascript·html
柏成5 小时前
qiankun 微前端框架🐳
前端·javascript·vue.js
穷小白5 小时前
Vue3与Ue通信
前端·javascript
柏成5 小时前
qiankun 源码解析🐳
前端·javascript·面试
临江仙4555 小时前
Electron 自动更新全攻略:从 0 到 1 实现企业级 AppUpdater 组件(附完整代码)
前端·javascript
用户48678952533905 小时前
Apache ECharts 雷达图详解
前端·javascript