🔖

WEBブラウザのプロセスについて(2)

2024/06/17に公開

概要

前回の記事の続き。
ブラウザのプロセスについて、もう少し深堀して理解する。

結論

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プロセス)

参考:https://developer.chrome.com/blog/inside-browser-part1?source=post_page-----a5e560d42037--------------------------------&hl=ja

Discussion