LoginSignup
10
10

More than 1 year has passed since last update.

Chromeでハードウェアアクセラレーションを部分的に利用する

Last updated at Posted at 2021-10-31

はじめに

Chromeでデフォルトで有効になっているハードウェアアクセラレーションだが、不具合が多い。
描画がカクついたり、ノイズが走ったり、マルチディスプレイ環境で描画がおかしくなることが多々ある。
場合によっては、Chrome自体が強制終了することもある。
無効にすると、CPU使用率が無駄に上がり、特にYoutubeをはじめとした動画再生などは再生開始時や高画質再生でカクつきの原因になったり、PC全体の動作を重くすることもある。
これらに対して、ハードウェアアクセラレーションを部分的に有効とすることにより、動画再生に限って快適性を追求することができた為、残すこととした。

※ ただし、2021年10月31日現在の設定である為、将来的にChromeがこれらの不具合を解消する可能性も否定できない。

下記の作業上で何かしら不具合が発生しても、自己で責任を負うものとする。
ハードウェアアクセラレーションは、CPUの負荷を下げ、GPUの負荷を上げる為、GPUの発熱に繋がる。
ゲームや動画編集程とはいかないはずだが、GPUに負荷を与えることで何かしら不具合が生じても、当方は責任を取らない。
GPUに負荷を与える行為をしていない場合、一度GPU周りを掃除してから行うことを推奨する。

参考環境

Windows10 Professional
Chrome (95.0.4638.54 Official Build 64bit)
Geforce RTX 2070

設定

目指すところは、ハードウェアアクセラレーションをビデオデコード周りのみ、有効にすることとなる。
だが、気の利かないことに、このような設定はチェック一つではできない。
ハードウェアアクセラレーションを全体として有効にし、余分なところをそぎ落としていく必要がある。

まず第一に、Chromeの設定、システムから「ハードウェア アクセラレーションが使用可能な場合は使用する」を有効にする。
これにより、ハードウェアアクセラレーションが全体的に有効になる。
settings.png

次に、アドレスバーに「chrome://flags」を入力する。
設定からはいじれない項目が列挙される。
この時、上のエディットボックスに、gpuと入力すると、いくつかの項目と共に、
・Accelerated 2D canvas
・GPU rasterization
・Enables Display Compositor to use a new gpu thread.
・Out-of-process 2D canvas rasterization.
という4つの項目が列挙されていると思う。
確証は無いし、修正されることもあると思うが、これらの機能が描画周りの不具合や不安定を引き起こす原因となっている。
(少なくとも、この2年間程はバグっている。)
その為、これらの横にあるプルダウンから、「Disabled」を選択し、これらのハードウェアアクセラレーションを無効化にする。
flags.png

これらを設定したら、Chromeを再起動する。

設定の確認

再起動後、アドレスバーに「chrome://gpu」を入力する。
GPUの設定が列挙される。
「Graphics Feature Status」にいろいろと書かれているが、この時、
「Canvas」が「Software only. Hardware acceleration disabled」
「Canvas out-of-process rasterization」が「Disabled」
「Rasterization」が「Software only. Hardware acceleration disabled」
となっており、
「Video Decode」「WebGL」「WebGL2」が「Hardware accelerated」となっていれば、設定がうまくいっていると言える。
gpu.png

※ 「Compositing」が「Hardware accelerated」となってしまうが、これは設定で無効にする方法がわからなかった。

動作確認

Youtubeなどをはじめとした動画再生を行い、スムーズに再生でき、その他のシーンでは描画周りの不具合が無いことを確認する。
恐らく、動画の再生開始がスムーズになったり、4kなどの高画質の動画がカクつきなく、CPUのファンが回転し始めたりせずに再生できるようになっていることと思う。
(ただし、回線状況によっては、バッファリングやシークに時間がかかり、再生がとぎれとぎれになることもあると思う。
4k画質はスループットが安定して50Mbps以上が出ることが望ましい。)
代わりに、タスクマネージャの詳細表示や、CPUID HWMonitorなどをはじめとした、GPUの使用状況を確認できるツールでは、動画再生時にGPUの使用率が上がっていることも確認できると思う。

この時、何か動画再生でノイズが走ったり、Chromeの挙動がおかしくなるようなことがあれば、グラフィックボードのドライバーの不具合であったり、Chromeの不具合が発生している可能性がある。
最悪な場合、ブルースクリーンでPCが再起動することも考えられる。
そのような症状が、ドライバーを更新したり、Chromeを更新して治らない場合、ハードウェアアクセラレーションをオフにしたほうが良い。
(潜在的なグラフィックボードの不良も考えられる。)

最後に

これらの設定は、Chromeの更新によって不要となる可能性がある。
しかし、これらの機能の更新や不具合修正は一切Chrome側から通知されることは無い。
その為、定期的に設定を戻し、挙動を確認してみることを推奨する。

10
10
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
10