浏览器渲染进场-GUI渲染线程

一、看一下浏览器渲染进程中包含的线程

其中JS引擎线程可以看一下:浏览器进程和事件循环eventloop机制(三)

二、GUI渲染线程主要工作内容

1、解析html文档生成DOM;

2、css代码转换为cssom (css object model);

3、结合DOM和CSSOM生成渲染树;

4、生成布局(layout);

5、将布局绘制(paint)在屏幕上;

6、当界面需要重绘(Repaint)或由于某种操作引发回流(reflow)时,该线程就会执行;

7、注意,GUI渲染线程与JS引擎线程是互斥的,当JS引擎执行时GUI线程会被挂起(相当于被冻结了),GUI更新会被保存在一个队列中等到JS引擎空闲时立即被执行。

三、屏幕刷新频率和GUI渲染线程关系

    GUI线程渲染的结果不会立刻呈现在屏幕上,等屏幕刷新时才会呈现出来。屏幕刷新频率一般60HZ,即16.6ms(1000ms/60)刷新一次屏幕。

四、GUI渲染线程在浏览器渲染进程所处的环节

     在浏览器时间进程eventLoop机制中,GUI渲染线程是在当前