Chromium除了有Browser进程和Render进程,还有GPU进程。GPU进程负责Chromium的GPU操作,例如Render进程通过GPU进程离屏渲染网页,Browser进程也是通过GPU进程将离屏渲染好的网页显示在屏幕上。Chromium之所以将GPU操作运行在独立进程中,是考虑到稳定性问题。毕竟GPU操作是硬件相关操作,硬件的差异性会引发一定的不稳性。本文分析GPU进程的启动过程。...
分类:
系统相关 时间:
2015-09-14 01:54:54
阅读次数:
319
由于Chromium采用多进程架构,因此会涉及到进程间通信问题。通过前面一文的学习,我们知道Browser进程在启动Render进程的过程中会建立一个以UNIX Socket为基础的IPC通道。有了IPC通道之后,接下来Browser进程与Render进程就以消息的形式进行通信。我们将这种消息称为IPC消息,以区别于线程消息循环中的消息。本文就分析Chromium的IPC消息发送、接收和分发机制。...
分类:
其他好文 时间:
2015-08-31 06:34:33
阅读次数:
407
Chromium以多进程架构著称,它主要包含四类进程,分别是Browser进程、Render进程、GPU进程和Plugin进程。之所以要将Render进程、GPU进程和Plugin进程独立出来,是为了解决它们的不稳定性问题。也就是说,Render进程、GPU进程和Plugin进程由于不稳定而引发的Crash不会导致整个浏览器崩溃。本文就对Chromium的多进程架构进行简要介绍,以及制定学习计划。...
分类:
系统相关 时间:
2015-08-10 01:57:59
阅读次数:
182
一个RenderProcess与一个Browser进程中的RenerProcessHost对应,RenderProcess在RenderProcessHostImpl的Init函数中被创建。
Init函数主要进行以下几个工作:
1、建立与RenderProcess进行通信的管道,管道的名称为channel_id。
2、将管道名称channel_id作为子进程启动的参数,调用ChildPr...
分类:
其他好文 时间:
2014-11-26 16:45:48
阅读次数:
261
android4.4 webview chromium是单进程的,图中所有组件都运行在Browser进程中。
按从上而下的顺序介绍这张图中与显示网页相关的chromium内核结构。
1.AwContents->WebContentsImpl
AwContnents的创建过程如下图:
AwContents是WebView接口的主要实现类。
native层的AwContents包含chr...
分类:
移动开发 时间:
2014-06-10 15:39:26
阅读次数:
421
GPU进程的客户端(Browser进程,Render进程)都会创建一个
WebGraphicsContext3DCommandBufferImpl的实例,用于封装与GPU进程的通信。
所以我们从WebGraphicsContext3DCommandBufferImpl开始引出GPU进程的结构。
一.WebGraphicsContext3DCommandBufferImpl的创建。
WebG...
分类:
移动开发 时间:
2014-06-05 10:59:31
阅读次数:
339