浏览器结构图:
- 用户界面,用于展示除标签页窗口之外的其他用户内容;
- 浏览器引擎,在用户界面和浏览器界面有一个浏览器引擎,用来在用户界面和渲染引擎之间传递数据;
- 渲染引擎,负责渲染用户请求的页面内容
渲染引擎下面有很多小的功能模块,比如负责网络请求的网络模块,用于解析和执行GS的GS解释器,还有数据存储直角层帮助我浏览器存储各种数据,比如cookie等等,可以说是一个浏览器的核心与灵魂。
浏览器渲染原理
- 浏览器是运行在操作系统上的程序
- 网络请求后获得html数据,通过TCP床给渲染器进程,
- 主线程将html解析构造DOm树
- DOM和style根据DOM树生成layoutTree,然后通过遍历layoutTree生成绘制顺序表
- 主进程将layoutTree和绘制信息表传给合成器线程,
- 合成器线程将得到的信息分图层分给更下的图快,再将图块进行栅格化raster,返还给合成器线程draw quads图块信息 存储在GPU中,
- frame 合成器将栅格线程返回的图块合成帧交给浏览器进程
- 浏览器进程 收到一帧的图像后传给GPU进行渲染