【解決】WindowsでChromeがスリープ/画面オフ復帰後にフリーズする


現象

Windowsがスリープ/画面オフ状態から復帰した後、Chromeのタブがフリーズする。
ただ、フリーズと言ってもグラフィックが止まっているだけで、バックグラウンドでスクリプトは動いている模様。
ウインドウのサイズを変更すると直った。

筆者の環境

  • Windows 10
  • Google Chrome 90

解決方法

注意

  • この方法は将来的に使えなくなる可能性があります。
  • MacやChromium Edgeの方は、この記事の方法では解決しません。

方法

  1. ChromeのURLバーにchrome://flagsを入力して、アクセスする。
  2. 検索ボックスにocclusionと入力する。
  3. Calculate window occlusion on Windowsの項目を、DefaultからDisabledに変更
  4. 画面下の「Relaunch」をクリックしてChromeを再起動

Chromeを再起動することになるので、未送信のフォームは最初からやり直しになります。この操作を行う前に送信を済ませてください。

画面はこんな感じです。

参考

解説

Calculate window occlusion on Windowschrome://flagsについて解説します。

Calculate window occlusion on Windowsをざっくりいうと、「表示されていないタブのグラフィックをやめて、パソコンのCPUなどを節約する」という機能です。

例えば、YouTubeを別のタブで再生していた場合、動画は目に見えないので、裏でグラフィックを行わず、音を鳴らしたり、自動再生で次の動画に進んだりすることにChromeが専念したほうが、パソコンのCPUなどを節約できます。

よって、上記の解決法を行った場合、Chromeのタブをたくさん開くと、よりバッテリーの減りが早くなったり、動作が重くなったりする可能性があります。
デスクトップならそこまで気にする必要はありませんが、ノートパソコンの方は注意が必要です。

一方で、chrome://flagsは、「Chromeの試験的な機能を有効にしたり無効にしたりできる裏設定」です。将来的にChromeに搭載される予定の機能や、Chromeに追加したもののまだ不具合が起きる可能性がある機能が並んでいます。
つまり、Calculate window occlusion on Windowsは不具合が起きる可能性があるため、ユーザーが無効にできるようになっているのです。
もちろん、不具合が解消されれば、chrome://flagsから削除されます。

ちなみに、Edgeは既にこの問題を修正しています。また、Macはハイスペックなので、そもそもCalculate window occlusion on Windows自体がChromeに存在しません。Chromebookは...分からん!

終わりに

周囲の同じような現象で悩まれている方に、この記事を教えていただければ幸いです。