ニュース

Microsoft、ゲームのデータ読み込みを高速化する「DirectStorage 1.2」をリリース

強制バッファードIOと新しいAPI「GetCompressionSupport」が追加

公式ブログ「DirectX Developer Blog」

 米Microsoftは4月18日(現地時間)、「DirectStorage 1.2」をリリースした。パッケージ管理システム「NuGet」を利用してアップデートできる。

 「DirectStorage」は、ゲームのロード時間を短縮する技術。近年の3Dゲームは小さなデータを大量に読み込む必要があるが、それらはファイルサイズを減らすために圧縮されていることが多い。そこで、こうしたケースでの読み込み処理でCPUのオーバーヘッドを最小限に抑えるために開発されたのが、「DirectStorage」だ。この技術は「Xbox Series X/S」でも活用されており、PC/Xboxで移植が簡単に行えるようにAPIの統一化が図られている。

 「DirectStorage」はWindows 11での利用が推奨されているが、Windows 10でも利用可能。

 最新の「DirectStorage 1.2」では、強制バッファードIO(Force Buffered IO)と新しいAPI「GetCompressionSupport」が追加された。

 「DirectStorage」は不要なコピーを避け、できるだけ早くデータをGPUへロードするため、アンバッファードモードでファイルを開くのが基本だ。しかし、レガシーなHDDではシーク時間の長さをカバーするためにバッファリングIOが必要となる。そのため、高速SSDとレガシーHDDでコードを共通化したいという場合に問題となる。

 そこで導入されたのが、強制バッファードIOだ。このオプションをいつ利用するかはゲーム側に一任されるが、低速HDDに対してのみ有効にするのが望ましい。

 一方の「GetCompressionSupport」は、デフォルトのテクスチャ解像度を適切に設定するため、ビルトイン圧縮フォーマットの解凍パスを把握したいという要望に応えて新設されたAPIだ。解凍処理がGPUによって行われるか、CPUへフォールバックされるかを知ったり、「DirectStorage」が解凍に使用するキューの種類を調べることができる。