浏览器包含的进程
1 浏览器进程主要负责用户交互、子进程管理和文件储存等功能。
2 网络进程是面向渲染进程和浏览器进程等提供网络下载功能。
3 渲染进程的主要职责是把从网络下载的 HTML、JavaScript、CSS、图片等资源解析为可以显示和交互的页面。因为渲染进程所有的内容都是通过网络获取的,会存在一些恶意代码利用浏览器漏洞对系统进行攻击,所以运行在渲染进程里面的代码是不被信任的。这也是为什么 Chrome 会让渲染进程运行在安全沙箱里,就是为了保证系统的安全
渲染流程
1 渲染进程将 HTML 内容转换为能够读懂的DOM 树结构。
2 渲染引擎将 CSS 样式表转化为浏览器可以理解的styleSheets,计算出 DOM 节点的样式。
3 创建布局树,并计算元素的布局信息。
4 对布局树进行分层,并生成分层树。
5 为每个图层生成绘制列表,并将其提交到合成线程。
6 合成线程将图层分成图块,并在光栅化线程池中将图块转换成位图。
7 合成线程发送绘制图块命令DrawQuad给浏览器进程。
8 浏览器进程根据 DrawQuad 消息生成页面,并显示到显示器上。