浏览器渲染流程

渲染流水线

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

相关推荐
大大杰哥25 分钟前
Vue2学习(3)--组件中的通信方式/组件之间的交互
java·前端·javascript
PixelBai27 分钟前
JSON过滤使用教程:从入门到精通
javascript·chrome·json
阿猫的故乡27 分钟前
Vue3自定义插件:封装一个全局消息提示插件,所有组件都能直接用
前端·javascript·vue.js
橘子星32 分钟前
树与二叉树:从概念到 JavaScript 实现
前端·javascript·面试
小林ixn43 分钟前
前端开发新利器:用Vite+通义万相实现多模态图像生成(附API密钥安全方案)
javascript
用户938515635071 小时前
HTML5 Canvas 从入门到AI驱动游戏开发:手把手教你用原生JS打造飞机游戏与数据可视化
前端·javascript·人工智能
qq_422152571 小时前
视频转 GIF 工具怎么选?2026 年动图制作方案与画质参数对比
javascript·vue.js·音视频
怕浪猫1 小时前
Electron 开发实战(十五):实战项目|从零搭建桌面即时通讯(IM)应用
前端·javascript·electron
不吃鱼的羊2 小时前
DaVinci配置NVM模块
前端·javascript·网络
一坨阿亮2 小时前
使用e-tree开发树形穿梭框
javascript·vue.js·elementui