Chromium浏览器架构:

1、多进程模型。包括:

  • Browser进程:是浏览器的主进程。负责浏览器界面的显示、各个页面的管理。是其它所有进程的祖先,负责它们的创建和销毁工作。它有且仅有一个
  • Renderer进程:是负责页面渲染工作的进程。不止一个
  • NPAPI插件进程:是个共享进程。当有网页需要插件时,该进程才会被启用。而在当有多个网页需要同一类型插件时,该进程会创建一个它的实例给它用。
  • GPU进程:是负责3D绘图的进程,只有当GPU硬件加速打开时才会启用创建。
  • Pepper插件进程:是为Pepper插件而创建的进程

2. 多线程模型:目的是为了保证UI线程不被其他耗时的线程所阻塞。如文件读写、socket读写等。那么,在网页加载和渲染的过程中,浏览器几个主要进程间的基本工作方式是:

  • Browser进程收到用户请求,首先由UI线程处理,而且将相应的任务转给IO线程,它随机将该任务传递给Renderer进程。
  • Renderer进程的IO线程经过简单解释后,交给渲染线程。渲染线程接收请求,加载网页并渲染网页。这其中可能需要Browser进程获取资源和需要GPU进程来帮助完成。最后,Renderer进程将结果由IO线程传递给Browser进程。
  • 最后,Browser进程接收到结果并将结果绘制出来。

 

posted on 2021-03-11 14:42  去吃饭了  阅读(313)  评论(0编辑  收藏  举报