ニュース
Windows 11、MUXなしでdGPU性能が出せる機能が実装されていた!クラッシュも軽減
2023年9月27日 17:36
MicrosoftのDirectX開発者ブログの9月25日付けの投稿で、Windows 11にはMUXによる映像出力スイッチがなくても、ある程度ディスクリートGPUの性能を引き出せる機能「Cross Adapter Scan-Out(CASO)」が実装されていることが明らかとなった。
Windows 11と書いてしまっているが、この機能自体はWindows Server 2022のWDDM 2.9以降で有効にすることが、2021年12月15日のDirectX 11の開発者向け技術文書で明らかとなっている。
GeForceやRadeonといったディスクリートGPU(dGPU)をノートPCに搭載すると、当然GPU分の消費電力が増える。消費電力が増えると当然バッテリ駆動時間が減るので、古くからさまざまな手法でdGPU未使用時はそれを無効にし、CPU内蔵GPU(iGPU)を使う手法が編み出された。
- 物理的にBIOSにdGPUをオフにするスイッチを実装し切り替える
- iGPU/dGPU両方のカスタムドライバにディスプレイドライバインターポーザーを実装し切り替える
- dGPUで描画した内容をiGPUのフレームバッファにコピーするNVIDIA OptimusやAMD Enduro Technologyのような技術
- MUXスイッチを実装し、出力するGPUをソフトウェア的に切り替えるNVIDIA Advanced OptimusやAMD Smart Access Graphicsのような仕組み
このうち1は初歩的な実装であり、切り替えにはOSの再起動が不可欠だった。そこで登場したのが2なのだが、iGPUとdGPUのドライバ双方の緊密な連携や動作検証が不可欠で、特定のバージョンのドライバでのみ対応し、たとえばNVIDIAならIntelのドライバまでまとめてパッケージングしていたりした。
そこで3のようなOptimus Technologyが登場したのだが、フレームバッファを常時コピーしているためオーバーヘッドが生じる。これはOptimus登場時ではさほど問題にならなかったのだが、近年はゲーミングノートPCでも120Hz以上でWQHDといった高解像度液晶を搭載することが多くなり、なおかつeスポーツゲーム全体が高リフレッシュレート対応化が進んだため、オーバーヘッドが顕著になってきた。
このネックを解決するのが4のMUXスイッチ、つまり純粋にノートPC内部にディスプレイ切替器を実装しました的なもの……なのだが、MUXスイッチ実装スペースやコストが必要なため、それらが省ける3のような実装方法のほうがメジャーだ。今回Microsoftが紹介したCASOは、3のような実装方法のままで、4に近い性能が出せるというものとなる。
そもそもなぜ3のようなフレームバッファのコピーでオーバーヘッドが生じていたかというと、ワークフローとして
- dGPU/eGPUから共有リソース(クロスアダプタリソース)へのコピー
- 共有リソース(クロスアダプタリソース)からiGPUへのコピー
の2つの手順が含まれていたためだ。
CASOではこの2つのコピーの代わりに、1つのレンダリングビジュアルのコピーを持つだけで、直接ディスプレイにスキャンアウトされるようになる。これによりオーバーヘッドの軽減とレイテンシの削減を実現したとしている。同社の測定によれば、フレームレートは最大で16%、遅延は最大で27%削減されたという。
さらに、CASOを有効にするとタイムアウト検出およびリカバリイベント(TDRs)の発生が45%抑えられたとしており、ノートPCにおけるゲームプレイ時の安定性が増してクラッシュも減るという。
CASOは、Windows 11 22H2ではビルド22621.1413以降(2023年3月14日リリース)、Windows 11 21H2ではビルド22000.1817以降(2023年4月11日リリース)でサポート。対応iGPUは、Intelが第11世代Iris Xeグラフィックス(WDDM 3.0以降)、AMDがRyzen 6000シリーズ以降に内蔵のRadeon Graphics(WDDM 3.1以降)。一方NVIDIAのGeForceドライバではR515.00以降で対応が謳われている。