Chromium版Microsoft Edgeのバージョン89で導入された「スリーピングタブ」機能の効果を調べてみた。「スリーピングタブ」は、非アクティブな状態のタブをスリープして、メモリ使用量やCPU使用率を削減する機能だ。今回は、メモリ使用量に着目して、どの程度の効果があるのか調べてみた。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
2021年3月9日にMicrosoft Edge(以下、旧Edge)のサポートが終了し、2021年4月には旧Edgeを削除する更新プログラムが提供されるという。以降、Windows 10の標準Webブラウザは、ChromiumベースのMicrosoft Edge(以下、Chromium版Edge)になる。
既にChromiumベースのWebブラウザとしては、Google Chrome(以下、Chrome)が大きなシェアを持っており、その中でChromium版Edgeは存在価値を示せるのか疑問も持たれていた。
しかし、Chromium版Edgeはバージョンアップを重ねるごとに、Chromeにはない機能が実装されるようになり、独自性が高まっている。例えば、Tech TIPS「Microsoft EdgeでWebページ全体をキャプチャーする」で紹介したWebキャプチャ機能や、Tech TIPS「気付けば『タブ』だらけなあなたに朗報? Chromium版Edgeの新機能『垂直タブ』を試してみる」で紹介した垂直タブといった機能だ。
Chromium版Edgeバージョン89では、さらに魅力的な機能「スリーピングタブ(Sleeping Tabs:タブのスリープ状態機能)」が実装されている。この「スリーピングタブ」は、Chromiumで実装されている「フリージング(freezing)技術」をベースに開発されており、非アクティブなタブをスリープしてメモリ使用量やCPU使用率の低減を図るというものだ。原稿執筆時点では、Chromeには実装されていない、Chromium版Edgeの独自機能となっている。
本稿では、この「スリーピンタブ」がどのような機能なのか、どういった効果があるのかについて調べていく。また、同様にメモリ使用量/CPU使用率を下げる「タブディスカーディング(Tab Discarding:タブの廃棄)」との違いについても見ていく。
Webブラウザで作業を行っていると、いつの間にか多くのタブが開いた状態となっていることはないだろうか。このような状態では、WebブラウザによるメモリやCPUの使用量が増え、Windows 10自体が重くなり、他のアプリケーションを開いたり、切り替えたりする際に時間がかかるようになる。特に最近では、Webページに多くの画像が用いられ、ビデオやスクリプトなどが使われ、リッチになっていることから、Webブラウザのメモリ使用量が増えてきている。
例えば、Facebookの場合、表示しているページなどにもよるが、133MBほどメモリを消費している(FacebookのWindows Insiderページを表示した場合)。こうしたWebページを10サイトほど開くだけで、1GB以上のメモリが消費されることになる。タスクマネージャーの[プロセス]でメモリ使用量やCPU使用率を見ると、意外なほどWebブラウザによって消費されていることに驚くはずだ。
そこで、導入されたのが「スリーピングタブ」である。タブがアクティブではない(非アクティブ)状態で指定した時間が過ぎると、自動的にタブがスリープ状態になり、メモリ消費量やCPUの使用率が抑えられるというものだ。
タブがスリープ状態になるといっても、タブが閉じられるわけではなく、リソースの使用を最小限に抑えるために、スクリプトなどの実行を一時停止するものだ。タブをアクティブにすると、Webページの動作などが再開される。
当然ながら、非アクティブなタブがスリープ状態になると、バックグラウンドでストリーミングにより音楽を再生していたり、Web会議中に別タブで資料を見ている状態だったりすると音が止まってしまうことになる。そこで、「スリーピングタブ」では、音が出力されているWebページなど、スリープ状態になると都合の悪いWebページについては、非アクティブであってもスリープ状態とはならないようになっている。
また、設定によって、特定のWebページをスリープ状態としない(除外する)こともできる。
デフォルトでは、スリーピングタブ機能は有効になっており、2時間アクティブにしていないとスリープ状態になる。除外するWebサイトなどの指定もないので、場合によってはChromium版Edgeが自動的にバージョンアップされたことで、スリーピングタブ機能が働き、特定のWebページの表示がおかしくなっている可能性もある。最近表示がおかしくなったと感じるのであれば、スリーピングタブ機能が原因の可能性があるので、後述の方法でスリーピングタブを無効にしたり、表示がおかしくなるWebサイトを除外するように設定したりするとよい。
スリーピングタブ機能は、前述の通り、デフォルトで有効になっており、特に設定しなくても、非アクティブ状態で2時間が経過するとタブがスリープ状態になるようになっている。
スリープするまでの時間を短くしたり、無効化したりするには、[設定]ページを開いて行う。それには、Edgeのウィンドウ右上の[…]アイコンをクリックして、メニューで[設定]を選択する。新しいタブで[設定]ページが開くので、左ペインで[システム]を選択する(アドレスバーに「edge://settings/system」と入力してもよい)。無効化するには、右ペインの「リソースの節約」欄の「スリープタブでリソースを保存する」のスイッチを「オフ」にする(デフォルトで「オン」)。
また、スリープ状態に移行するまでの時間は、「スリープタブでリソースを保存する」のスイッチを「オン」の状態にすると、「非アクティブなタブを、……」のプルダウンリストで選択可能になる(デフォルトは2時間)。時間は、5分/15分/30分/1時間/2時間/3時間/6時間/12時間から選択可能だ。
また、スリープ状態にしたくないサイトは、「これらのサイトをスリープ状態にしない」の[追加]ボタンをクリックして、ドメイン名を指定すればよい。
設定した時間が経過すると、タブのアイコンがグレーアウトして、スリープ状態になっていることを示される。また、スリープ状態になったタブにマウスホバー(マウスポインターを重ねる)すると、「このタブはリソースを節約するため、スリープ状態にしています」と表示されることで確認できる。
MicrosoftのWindows Blog「Sleeping Tabs in Microsoft Edge: Delivering better browser performance」によれば、メモリ使用量で32%、CPU使用率で37%の削減効果があるとしている。
タブごとのCPU使用率を計測するのは難しいので、ここではメモリ使用量に着目して、幾つかのWebページで計測して効果を確かめてみた。[設定]−[システム]ページの「リソースの節約」欄で、「非アクティブなタブを、指定された時間が経過した後、スリープ状態にします」を[5分間の非アクティブ状態]に設定して動作を確認している。
Copyright© Digital Advantage Corp. All Rights Reserved.