分析浏览器的渲染显示过程
渲染流程
- 渲染进程将 HTML 内容转换为能够读懂的DOM 树结构。
- 渲染引擎将 CSS 样式表转化为浏览器可以理解的styleSheets,计算出 DOM 节点的样式。
- 创建布局树,并计算元素的布局信息。
- 对布局树进行分层,并生成分层树。
- 为每个图层生成绘制列表,并将其提交到合成线程。
- 合成线程将图层分成图块,并在光栅化线程池中将图块转换成位图。
- 合成线程发送绘制图块命令DrawQuad给浏览器进程。
- 浏览器进程根据 DrawQuad 消息生成页面,并显示到显示器上。
解析
构建DOM树
因为浏览器无法直接理解和使用 HTML,所以需要将 HTML 转换为浏览器能够理解的结构——DOM 树。
开发者控制台输入document可查看DOM树

生成DOM树后,DOM节点的样式我们依然不知道,要让DOM节点拥有正确的样式,这就需要样式计算了。
样式计算
样式计算的目的是为了计算出 DOM 节点中每个元素的具体样式,这个阶段大体可分为三步来完成。
-
把 CSS 转换为浏览器能够理解的结构。和 HTML 文件一样,浏览器也是无法直接理解这些纯文本的 CSS 样式,所以当渲染引擎接收到 CSS 文本时,会执行一个转换操作,将 CSS 文本转换

本文详细阐述了浏览器渲染页面的整个过程,包括解析HTML构建DOM树、样式计算、布局树生成、图层树创建、绘制、合成线程的分块、光栅化以及显示器显示内容的步骤。介绍了每个阶段的作用,例如DOM树的构建、CSS样式计算、布局计算以及图层的生成和绘制优化策略,帮助理解浏览器如何将HTML、CSS转换为可视化的网页。
最低0.47元/天 解锁文章
644

被折叠的 条评论
为什么被折叠?



