浏览器渲染流程

渲染流水线

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

相关推荐
andr_gale1 小时前
02_uniapp自定义上凸效果的底部TabBar
前端·javascript·uni-app·移动端
倾听醉梦语1 小时前
React/Vite/Next.js 前端开发工具 SpotPatch:点击页面元素精准定位 JSX/TSX 源码
javascript·react·ai编程·vite·next.js·前端开发工具
2401_881828322 小时前
简易文本处理网页工具|AI 通识课第三次作业
前端·javascript·html
障碍的枫子2 小时前
Vue组件导出&渲染
前端·javascript·vue.js
海带紫菜菠萝汤3 小时前
MSE (Media Source Extensions) 实战:流媒体分块加载与自适应码率
前端·javascript·音视频
张元清4 小时前
React useMount Hook:只在挂载时执行一次的正确姿势 (2026)
javascript·react.js
breeze jiang4 小时前
JavaScript 单例模式:用静态属性保证 Popup 只创建一次
开发语言·javascript·单例模式
No Silver Bullet4 小时前
Vue进阶(贰幺叁)vue.config.js 中 productionSourceMap 作用详解
前端·javascript·vue.js
用户847181054194 小时前
LangChain中间件教程及DeepAgents应用
javascript·agent
huabuyu4 小时前
INP 自动化归因与自愈:如何自动定位、修复并验证一次卡顿
前端·javascript