浏览器渲染流程

渲染流水线

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

相关推荐
kovli14 分钟前
红宝书第六讲:作用域链与闭包:厨房里的调味料架原理
前端·javascript
独立开阀者_FwtCoder17 分钟前
AI 组件库 ChatUI 3.0 正式发布!阿里再一次领先!
前端·javascript·前端框架
不做王多余22 分钟前
多个if判断的代码如何优化
前端·javascript
前端Hardy28 分钟前
HTML&CSS:超有趣的登录表单
javascript·css·html
陈奕迅本讯32 分钟前
前端-Vue2组件化编程
前端·javascript·vue.js
T - mars33 分钟前
python爬虫:喜马拉雅案例(破解sign值)
javascript·爬虫·python
十五_在努力34 分钟前
参透 JavaScript —— 异步编程与Promise
前端·javascript·promise
十五_在努力38 分钟前
参透 JavaScript —— 图解 Event Loop 事件循环
前端·javascript
十五_在努力1 小时前
参透JavaScript —— 判断数据类型的四种方式
前端·javascript
依辰1 小时前
小程序自动化构建与版本管理方案优化
前端·javascript·微信小程序