Fossbytesは9月24日(米国時間)、「Microsoft Edge 'Sleeping Tabs' Reduce RAM Usage By 26%: Microsoft」において、MicrosoftがWebブラウザ「Microsoft Edge」において「スリーピングタブ(Sleeping Tabs)」と呼ばれる機能を開発中であり、それによってメモリの利用量とCPUの利用率の大幅な削減に成功したと伝えている。

スリーピングタブはアクティブでない(前面に表示されていない)タブを「スリープ状態」にすることによってシステムリソースの消費を抑え、他の処理で使用できるリソースを解放するというもの。Chromiumが持つ「フリーズ(Freezing)」と呼ばれる機能をベースに作成されており、タブのスクリプトタイマーを一時停止することでリソースの使用量を大幅に削減することができるという。「スリープ状態」はタブを閉じたときのようにリソースを完全に破棄するわけではないため、スリープが解除されたあともページを再読み込みする必要がなく、スムーズに復帰できる点が大きな特徴となっている。

Microsoftによれば、13000以上のデバイスでスリーピングタブを有効にしたEdgeをテストしたところ、スリーピングタブを使用しない場合に比べて平均メモリ使用量が26%減少したという。また、単一のスリーピングタブのCPU使用率は、通常のタブに比べて平均で約29%少なかったとのことだ。

本稿執筆時点では、スリーピングタブはMicrosoft EdgeのCanary ChannelsおよびDev Channelsで利用できる。ただし、有効にするには「edge://flags/」で下図のように3つのフラグを「Enabled」に設定する必要がある。

  • Microsoft Edge Dev Channlesでスリーピングタブを有効にする

    Microsoft Edge Dev Channlesでスリーピングタブを有効にする

スリーピングタブを有効にすると、アクティブでないタブは一定時間が経過すると自動的にスリープ状態に移行する。スリープ状態になるまでの時間はデフォルトでは即時になっているが、これは設定で変更できる。また、スリープ状態にしないサイトを個別に指定することも可能。

  • スリープ状態になるまでの時間や、スリープ状態にしないサイトを指定できる

    スリープ状態になるまでの時間や、スリープ状態にしないサイトを指定できる

Microsoftによれば、一部のWebサイトはタブが再アクティブ化してスリープ状態から復帰した際に正しく機能しない場合があるという。同社はこの問題の解決に取り組んでおり、そのようなWebサイトを自動で検出してタブがスリープ状態にならないように調整しているとのことだ。