HWA無効化オプション - sunfish-shogi/shogihome GitHub Wiki
はじめに
ShogiHome v1.22.0 以降では、ハードウェアアクセラレーション(以下「HWA」)を利用するかどうかを選べるようになります。
この資料では HWA とそれを無効にすべきケースについて説明します。
HWA(Hardware Acceleration)とは
汎用のプロセッサではなく専用のハードウェアでパフォーマンスを向上させることを HWA と呼びます。
ShogiHome や Chrome においては、 GPU を使うことだと考えていただければ差し支えありません。
HWA の弊害
HWA は GPU を活用して効率を上げるためのものですが、一部のアプリケーションではトラブルの原因になることも少なくありません。
実際に Chrome の HWA を無効にすることで動作が改善する事例が存在します。それには有名な将棋の対局サイトも含まれています。
ShogiHome と HWA
ShogiHome で使用している Electron というフレームワークでは Chromium が動いており、デフォルトで HWA が有効になっています。
これまで、HWA を無効にしたバージョンや無効化するオプションの提供はしていませんでした。
しかし、2024 年の電竜戦において発生した時間切れ負けのうち、一部のチームの事案では ShogiHome における HWA の影響が疑われています。
そこで、ShogiHome v1.22.0 からは HWA の有無を切り替える設定項目を設けます。
あくまで試験的な対応として、初期設定では HWA が有効なままとします。 無効化する場合はアプリ設定の「開発者向け」から無効化し、アプリの再起動が必要です。
GPU に関する情報の確認方法
Chrome の場合はアドレスバーに chrome://gpu
と打ち込むと GPU に関する情報を取得できます。
ShogiHome でも v1.22.0 からはデバッグメニューで GPU の情報を表示することが可能です。
HWA が有効な場合と無効な場合それぞれの表示例は以下の通りです。(環境によって一部異なる場合があります。)
HWA を無効にすべきケース
日常的な利用において、積極的に HWA を無効化する必要はありません。
電竜戦のケースでは、長時間に渡り ShogiHome と同じ PC で映像系の複数のソフトウェアを同時に動かしていました。 その後、数時間が経過してから ShogiHome の画面表示の更新が不安定になり、時間切れ負けを起こす事象が立て続けに発生しました。
その事例のように GPU 関連の問題が疑われる場合や、長時間の連続稼働をさせる場合には HWA を無効にした方が良い可能性があります。 ただし、GPU を使わない代わりに CPU の負荷が増える可能性があります。
v1.21.x への特別対応
ShogiHome v1.21.x が WCSC で使われることを想定して、HWA を無効化した特別版を用意します。 アプリ設定で選ぶことはできない代わりに HWA が常に無効化される特別バージョンです。
- 2024/4/2 v1.21.3-hwaoff
- 2024/4/12 v1.21.4-hwaoff
- 2024/4/20 v1.21.5-hwaoff
なお、 GPU Feature Status や GPU Info はアプリログに INFO レベルで出力されます。