渲染过程的第二阶段是从DOM和CSS到绘图上下文的完成。
HTML解释器遇到CSS样式信息的时候,将它们交给CSS解释器并生成中间表示信息。然后它们会被附加到DOM树中,生成RenderObject树。同时,根据网页的层次模型,结合层的规则判断对应的RenderObject是否应该单独成为RenderLayer,从而构成RenderLayer树,并构建虚拟的绘图上下文。
渲染的第三阶段,就是将虚拟的绘图上下文转换成实实在在的可视图像。
一般进过如下步骤:
1、为了移植方便,绘图上下文一般是与平台无关的,它将每个绘图操作桥接到不同的具体实现类。
2、绘图实现类执行真正的绘制操作,这里会涉及到2D图像库或者3D图形库,并将结果保存下来,交给浏览器,并且和浏览器界面一起显示。
在这个一阶段会涉及到硬件绘制、合成等辅助技术。