上篇文章介绍了渲染进程主线程上DOM构建的过程,此篇文章将介绍样式计算、布局树、分层树、绘制、合成、显示
样式计算主要目的是计算出dom各个节点的样式,计算样式需要经过如下三个步骤:
布局就是计算出DOM树中可见元素的几何位置,布局要经过如下操作:
页面中有很多复杂的效果,例如内容溢出滚动、3D动画、定位z-index等,为了更加方便的实现这些效果,渲染引擎需要为特定的节点生成专用的图层,把图层组合起来就是一颗图层树,元素被提升为单独一层需要具备如下两个条件:
分成树生成后,渲染引擎会创建绘制列表,进行图片绘制,过程如下:
所有的图块被光栅化转化为位图后,合成线程会生成一个绘制图块的命令DrawQuad,然后该指令提交给浏览器进程,浏览器接收到DrawQuad命令,从GPU内存中读取图片输出到显卡后缓冲区,显卡将后缓冲区内容交换至前缓冲区,由屏幕已60HZ的频率刷新显示图片
看下渲染引擎的图像是如何显示到显示器的,先来看下如下概念
本节主要介绍渲染流程样式计算、布局、分层、绘制、合成及最终显示输出
完。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。