浏览器渲染流程

渲染流水线

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

相关推荐
酒鼎7 分钟前
学习笔记(7-01)函数闭包
javascript
半梅芒果干8 分钟前
vue3 实现无缝循环滚动
前端·javascript·vue.js
冰敷逆向21 分钟前
京东h5st纯算分析
java·前端·javascript·爬虫·安全·web
多多*1 小时前
2026年最新 测试开发工程师相关 Linux相关知识点
java·开发语言·javascript·算法·spring·java-ee·maven
会编程的土豆1 小时前
简易植物大战僵尸游戏 JavaScript版之html
javascript·游戏·html
雯0609~1 小时前
hiprint-官网vue完整版本+实现客户端配置+可实现直接打印(在html版本增加了条形码、二维码拖拽等)
前端·javascript·vue.js
VT.馒头1 小时前
【力扣】2705. 精简对象
javascript·数据结构·算法·leetcode·职场和发展·typescript
摘星编程1 小时前
在OpenHarmony上用React Native:Switch禁用状态
javascript·react native·react.js
huangyiyi666662 小时前
Vue + TS 项目文件结构
前端·javascript·vue.js
码农六六2 小时前
js函数柯里化
开发语言·前端·javascript