浏览器渲染流程

渲染流水线

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

相关推荐

  1. 浏览器渲染流程

    2024-07-15 19:32:02       21 阅读
  2. 浏览器渲染原理

    2024-07-15 19:32:02       47 阅读
  3. 浏览器渲染原理(面试重点)

    2024-07-15 19:32:02       51 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-15 19:32:02       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-15 19:32:02       71 阅读
  3. 在Django里面运行非项目文件

    2024-07-15 19:32:02       58 阅读
  4. Python语言-面向对象

    2024-07-15 19:32:02       69 阅读

热门阅读

  1. Redis Cluster 工具

    2024-07-15 19:32:02       15 阅读
  2. leensa注册码

    2024-07-15 19:32:02       26 阅读