Microsoft DirectStorageとは何ですか?どのようにゲームを速くしますか?

以前は、ゲームはそれほど複雑ではありませんでした。再生可能なレベルはかなり小さく、キャラクターは少なく、テクスチャはシンプルでした。何年にもわたって、ゲームは飛躍的に向上しました。大規模なオープンワールドから非常に詳細なキャラクターまで、ゲームはフォトリアリスティックに見えることがよくあります。

しかし、この革新はすべてコストがかかります。

現代のゲームは、これらの美しいキャラクターや環境をレンダリングするために数十ギガバイトのデータを必要とします。しかし、ゲーム開発者が使用する一部のツールは、このような大量のデータを処理するように構築されていないため、パフォーマンスのボトルネックが発生します。

これがMicrosoftDirectStorageの出番です。

なぜMicrosoftDirectStorageが必要なのですか?

DirectStorageについて説明する前に、データストリーミングの現在の方法がどのように機能するかを見てみましょう。

ゲームを起動すると、画面に表示するテクスチャ、キャラクターモデル、オーディオなどのデータが必要になります。このデータは、ハードドライブなどのストレージデバイスに保存されます。ゲームは、アプリケーションプログラミングインターフェイス(API)と呼ばれるソフトウェアツールを介してこのデータを要求します。

ゲームがAPIを介してデータを要求した後、ゲームはストレージデバイスからデータをフェッチし、レンダリングのためにGPUに渡す前にシステムRAMに配置します。

ゲームをダウンロードすると、すべてのデータが圧縮され、可能な限り多くのストレージが節約されます。ただし、GPUは圧縮データを使用できません。したがって、解凍する必要があります。

したがって、データがRAMに入ると、解凍のためにCPUに送られます。

解凍後、ゲームが要求したデータがGPUのVRAMにコピーされます。

最後に、GPUは、このデータをディスプレイに表示される美しいグラフィックにレンダリングします。

現在、このストリーミング方法には2つの大きな欠点があります。

まず、データの解凍には多くの時間がかかります。これにより、ゲームのロード時間が長くなるだけでなく、CPUが他のタスクに使用できなくなります。また、CPUはほとんどの場合解凍に追いついているため、GPUの要求に対応できず、フレームレートが低下します。

次に、既存のストレージAPIは、最新のストレージハードウェアを十分に活用していません。たとえば、当時のストレージデバイスは、1秒あたりギガバイトのデータを送信する速度と帯域幅を備えていない低速の機械式ハードドライブでした。そのため、APIは限られた量のデータのみをストリーミングするように作成されました。

今日これらの古いAPIを使用する開発者は、シーンの複雑さを軽減して多くのアセットの必要性を最小限に抑え、プレーヤーが表示できるテクスチャと環境のみをレンダリングし、ロード時間を増やして確実にするなどの方法を使用して、この限られたデータストリーミング予算を回避する必要がありますゲームには、開始する前にすべてのアセットをロードするのに十分な時間があります。

これらの方法は、理論的には実際よりもうまく機能します。なぜなら、市場で最速のストレージドライブを使用していても、ゲームの読み込み時間は長く、テクスチャポップインがあり、描画距離が狭いためです。

DirectStorageは、開発者がより優れたデータストリーミングプロセスを通じてこれらの問題を解決できるよう支援することを目的としています。

関連:ゲームパフォーマンスを向上させるための最高のGPUオーバークロックツール

Microsoft DirectStorageはどのように機能しますか?

Microsoft DirectStorageは、現在のAPIのすべての問題を修正することを目的としたストレージAPIのセットです。

開発者がDirectStorageAPIを呼び出してストレージデバイスからデータを要求する場合、プロセスはほぼ同じですが、2つの大きな違いがあります。

まず、データをRAMにコピーした後、CPU解凍ルーチンはありません。データはCPUにコピーされず、解凍されません。古いAPIとは異なり、圧縮されたデータはGPUに直接送信されます。

次に、APIは超高速のNVMeSSDハードウェアを最大限に活用します。 NVMe SSDは機械式ハードドライブよりも指数関数的に高い帯域幅を持っているため、DirectStorageが機能するにはNVMeSSDが必要です。 DirectStorageは、これらのSSDの全帯域幅(GB /秒のオーダー)を使用して、一度に大量のデータを読み取ります。これは、データをゆっくりとMB /秒のオーダーで読み取る古いAPIとは異なります。

そのため、GPUは一度に大量の圧縮データを受信し、レンダリングする前にさらにデータが到着するのを待つ必要はありません。あとは、GPUがレンダリングするデータを解凍するだけです。

DirectStorageは、最先端のGPU解凍技術を備えています。 GPUは、CPUよりもはるかに高速でデータを解凍します。また、CPUでは不可能なこの高速減圧を長時間維持することもできます。これが、GPUを将来のデータ解凍の最有力候補にしている理由です。

解凍をGPUにオフロードすると、CPUが解放され、オーディオの処理や表示するフレームの準備などの他のタスクを処理できるようになります。

DirectStorageはゲームをどのように改善しますか?

DirectStorageはGPUに大量のデータを信じられないほど迅速に提供するため、ゲーム体験に革命をもたらすことができます。

まず、開発者がDirectStorageを使用してゲームを構築する場合、ゲームの読み込み時間はほぼ瞬時になります。そのため、お気に入りのゲームにジャンプするために、長いロード画面に腰を下ろすのを待つ必要はありません。

次に、DirectStorageはCPUを解放して他のタスクを処理するため、パフォーマンスが向上します。つまり、ハードウェアをアップグレードしていなくても、フレームレートが向上します

最後に、DirectStorageを使用すると、ゲームは最小限のテクスチャポップインで、より広範で複雑な世界になります。これにより、開発者は、データストリーミングの懸念のために創造的なビジョンを妨げることなく、次世代のゲームを構築できます。

DirectStorageは、開発者が許可すればゲームを永久に変えることができます

MicrosoftはDirectStorageを強く推し進めてきました。そして当然のことながらそうです。データストリーミングの古い方法は、ゲームを妨げてきたチョークポイントです。

DirectStorageが業界標準になることができれば、ゲームは没入の新時代に移行します。

MicrosoftがDirectStorageを完成させ、それに時間を費やす価値があることを開発者に納得させることができれば、ゲーマーはついにロード時間やテクスチャのポップインなどの煩わしさから解放されます。

だから、偽のエレベーターの乗り物、終わりのない階段、そして百万年かかるファストトラベルがない日が来ることを願っています。