46
マイクロソフトがGPUハードウェアスケジューリングを説明:入力遅延の改善を目指す

GPU ハードウェアのスケジューリングは、指揮者に新しいバトンを与えるようなものです。

(画像クレジット:Shutterstock)

最近のテクノロジーニュースに注目している方なら、ハードウェアアクセラレーションによるGPUスケジューリングが話題になっていることを耳にしたことがあるかもしれません。Microsoftは2020年5月のアップデートにこれを組み込み、Nvidiaも実装しました。AMDも実装しており、私たちもNvidiaのGPUでテストしました。しかし、実際のところ、それが何をするものなのか、そしてなぜ重要なのかについては、今のところほとんど説明されていません。私たち自身もNvidiaのグラフィックカードでテストしましたが、結果はまちまちで、本当に時間をかける価値があるのか​​疑問に思っています。

主な改善点: 入力遅延

MicrosoftのWDDM GPUスケジューラの誕生秘話はさておき、今日のゲームでは、WDDMはGPUにタスクを割り当てるソフトウェアとして機能します。このスケジューラはCPU上で高優先度スレッドとして動作し、「様々なアプリケーションから送信された作業を調整、優先順位付け、スケジュール設定」します。なぜ高優先度なのか?それは、キャラクターが敵を撃つように指示するとすぐにGPUにジョブを渡す必要があるからです。

そして、ここで問題が発生します。WDDMスケジューラはシステムにオーバーヘッドを発生させ、レイテンシを引き起こします。オーバーヘッドの発生を完全に回避する方法はありませんが、CPU上で実行すると、1ミリ秒単位の精度が重要な場合に余分な処理が追加されます。 

最適なシナリオでは、GPUが1フレームをレンダリングしている間、CPUは次のフレームの計画に追われます。実際には、これはまさに現在のWDDMスケジューラの仕組みですが、このような小さなタスクをフレームごとに処理するとCPUに大きな負荷がかかります。そのため、低解像度・高フレームレートでゲームを実行する場合のパフォーマンスはCPUに大きく依存します。

このオーバーヘッドを削減するため、今日のゲームではCPUに複数のフレームコマンドを生成させ、それらをバッチでGPUに送信することができます。これはかつてはバッファリングするフレーム数を手動で選択できるオプション機能でしたが、現在ではユーザーが知らないうちにバックグラウンドで行われるバランス調整機能になっています。このフレームの事前計画はフレームバッファリングと呼ばれていますが、これがいかに問題となるかは既にお分かりでしょう。CPUの負荷を軽減する必要がある場合、画面に表示される画像は入力から数フレーム遅れて表示される可能性があります。

ジレンマ: 入力遅延の低減か、CPU負荷の軽減か

GPU ハードウェア スケジューリングの効果をテストしたとき、私たちは Nvidia RTX 2080 Ti と Intel Core i9-9900K を搭載したシステムを使用していました。これは、Core i9-10900K が登場するまでは、お金で買える最高のゲーミング CPU でした。

Tom's Hardware の最高のニュースと詳細なレビューをあなたの受信箱に直接お届けします。

しかし、これほど強力なプロセッサであれば、GPUフレームのスケジューリングはシリコンの心臓部にとってそれほど負荷の高いタスクではなく、入力レイテンシの短縮とCPU負荷の軽減のどちらかを選ぶ必要もありません。i9-9900Kは非常に強力なので、フレームを1つずつスケジューリングさせるのはいかがなものでしょうか?高価なCPUがその価値を証明しているかどうか、気にする人がいるでしょうか?

しかし、誰もがゲームをプレイするために 500 ドルの CPU を持っているわけではないので、ゲームをするときには GPU ハードウェア スケジューリングがより大きな違いを生むはずです。

GPUハードウェアスケジューリングはローエンドCPUにさらなる恩恵をもたらすはず

NvidiaのPascalおよびTuring GPU、そしてAMDのRDNAグラフィックカードは、いずれも専用のハードウェアスケジューリング機能をシリコンに組み込んでいます。このGPUスケジューラはCPUよりもはるかに効率的にスケジューリングを行い、PCIeバスを経由する必要がありません。

しかし、CPUのソフトウェアスケジューリングからGPUのハードウェアスケジューリングへの移行は、グラフィックスサブシステムの柱の一つを根本的に変えることになります。ハードウェア、オペレーティングシステム、ドライバー、そしてゲームのコーディング方法にも影響を与えるため、実現までに長い時間がかかったのです。 

ハードウェアアクセラレーションによるGPUスケジューリングへの移行は容易ではありません。そのため、Microsoftはまだこの機能をデフォルトで有効化しておらず、オプトイン設定として提供しています。この機能は「設定」→「システム」→「ディスプレイ」→「グラフィック設定」で確認できますが、Windows 10の最新バージョン(2020年5月、ビルド2004)にアップデートし適切なAMDまたはNvidiaドライバーがシステムにインストールされている必要があります。

現時点でこの機能を有効にしても問題は発生しないはずですが、これほど新しいテクノロジーにはよくあることですので、問題が発生しても驚かないでください。オプトイン方式のため、GPUハードウェアスケジューリングのメリットを最大限享受できるようになるまでには、数か月(あるいは数年?)かかる可能性があります。しかし、すべてが計画通りに進めば、強力なグラフィックカードとミドルレンジCPUの組み合わせは、ゲーム用途においてはるかに理にかなったものになるでしょう。

Niels BroekhuijsenはTom's Hardware USの寄稿ライターです。ケース、水冷システム、PCの組み立てレビューを担当しています。