🔖
WEBブラウザのプロセスについて(2)
概要
前回の記事の続き。
ブラウザのプロセスについて、もう少し深堀して理解する。
結論
Browser, Renderer, Plugin, GPUなどのプロセスがあり、それぞれが異なる責務を持っている。
また、iframeは少し特殊で、iframeごとにレンダープロセスが生成される。
各プロセスの持つ役割
Browserプロセス
Browserプロセスは、Chromeブラウザのメイン機能を担当している。
例えばブックマークや戻るボタンと進むボタンの制御など、HTMLの描画と直接関係のない部分をBrowserプロセスが担う。
Rendererプロセス
Rendererプロセスは、私たちが見ているWebサイトなどの画面を描画するプロセス。
今見ているZennのページ表示についてもこのRendererプロセスが働いている。タブを増やすとこのRendererプロセスも増えていく。
Pluginプロセス
ウェブサイトで利用するプラグインの制御。Flashなどの制御に使われるらしいが、詳細はまだよくわからない。
GPUプロセス
GPUタスクを処理する。かつ、他のアプリからのリクエストを処理する・・・らしい。
詳細は私自身よくわかっていない。
iframeのプロセス
通常のWebサイトであればひとつのタグにつきRendererプロセスが生成される。
例外として、Webページにiframeが埋め込まれている場合はiframeごとにRendererプロセスが生成される。
そのため、ひとつのページに3つのiframeが埋め込まれている場合は、メインページのプロセス&iframeのプロセスで合計4つのプロセスが生成されることになる。
まとめ
- ブラウザの戻る・進むボタンやアドレスバーを制御しているのはBrowserプロセス
- タブごとのWebページを表示しているのはRendererプロセス
- iframeを制御するのもRendererプロセス(iframeひとつにつき1プロセス)
Discussion