7 ポイント 投稿者 kunggom 2020-06-19 | 1件のコメント | WhatsAppで共有

Google ChromeやMS Edgeの新バージョンなど、Chromium系Webブラウザーの共通する欠点の1つとして、メモリ使用量がかなり多い点があります。MS EdgeもChromium系Webブラウザーになったことで、この欠点からは逃れられなくなりました。

アプリケーションがOSに要求して動的に割り当てられるメモリ領域を「ヒープ」(heap)と呼びます。これまでWindows OSでこうしたメモリ割り当てを管理してきたシステムはNT heapと呼ばれていましたが、Windows 10にはSegment heapという新しいメモリ割り当て管理システムが内蔵されました。ただし、これまではこのシステムは一部のシステムプロセス、旧MS Edgeの一部分、UWPアプリなどにのみ限定的に適用されていました。それ以外のすべてのプログラムは従来のNT heapをそのまま使用していたのです。

最近配信されたWindows 10 2020年5月アップデート(バージョン2004、ビルド19041)から、この新しいメモリ管理システムを一般的なWin32アプリケーションでも使えるようになりました。そしてそれに合わせて、MS EdgeやGoogle ChromeなどのChromium系Webブラウザーでも、Segment heapをサポートするシステムではこれを使用するよう更新するとのことです。MS Edge開発チームによれば、社内テストではメモリ使用量が最大27%減少したとのことで、少なくとも最新のWindows 10ではChromium系Webブラウザーのメモリ使用量削減効果がかなり期待できそうです。

ChromiumプロジェクトのSegment heap適用に関するバグトラッカーの状況:

https://chromium-review.googlesource.com/c/chromium/src/+/2163163

Segment heapの内部構造(英語スライド):

https://blackhat.com/docs/us-16/…

従来のNT heapの内部構造(英語スライド):

https://slideshare.net/AngelBoy1/…

1件のコメント

 
lifeguru 2020-06-22

メモリだけでなく、全体的に重たい感じが拭えないので……最適化が継続的に進んでほしいですね。