浏览器渲染流程

渲染流水线

生成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属性

相关推荐
还是鼠鼠5 分钟前
图书管理系统 Axios 源码 __删除图书功能
前端·javascript·vscode·ajax·前端框架·node.js·bootstrap
轻口味24 分钟前
Vue.js `Suspense` 和异步组件加载
前端·javascript·vue.js
还是鼠鼠2 小时前
图书管理系统 Axios 源码__编辑图书
前端·javascript·vscode·ajax·前端框架
北极象2 小时前
vue3中el-input无法获得焦点的问题
前端·javascript·vue.js
GISer_Jing3 小时前
react redux监测值的变化
前端·javascript·react.js
m0_528723813 小时前
react中useEffect的使用
前端·javascript·react.js
Real_man4 小时前
noVNC 技术解析与最佳实践
javascript
大模型铲屎官4 小时前
HTML从入门到精通:链接与图像标签全解析
开发语言·前端·javascript·html·编程·链接标签·图像标签
大模型铲屎官4 小时前
HTML 列表标签全解析:无序与有序列表的深度应用
前端·javascript·html·有序列表·列表标签·无序列表
霸王蟹5 小时前
文本复制兼容方案最佳实现落地。
前端·javascript·vue.js·笔记·学习