3月15日(日本時間)Microsoftは、PCゲームの読み込み時間を短縮する「DirectStorage API」をリリースしたと発表した。これにより、クラス最高のIO技術にアクセスできるようになるとのこと。
DirectStorageは、元々「Xbox Series X」で採用されている「Velocityアーキテクチャ」の一部をなすもので、これが今回Windowsでも利用可能になった。DirectStorageは、NVMe接続のストレージと組みあわせた際に、ゲームのロード時間を大幅に短縮したり、ゲーム自体の拡張性を高めてくれる。
現代のゲームでは、キャラクターや世界をできるだけリアルに見せるために、膨大な量のデータが生成される。容量の都合上、このデータは圧縮された状態で保存されているが、使用時にはパソコンのZIPアーカイブと同じように解凍する必要がある。解凍はランタイム、つまりゲームを開始するとすぐに行われる。従来までは、NVMe SSDからデータを読み取る際は、一旦システムメモリーに読み込まれ、その後CPUにてデータをGPUが使えるように処理をした後、GPUのVRAMへコピーされる。この時に、CPUはNVMeにデータを要求する処理やNVMeからのデータを解凍する処理にリソースが使われていた。ただ、いくら高性能なCPUでも、CPU自体がこの解凍という作業があまり得意ではないため、効率的ではないのが実情だ。
だが実はGPUは、高度な並列処理を得意とするため、この解凍というタスクに最適なコンピューティングデバイスである。このことから、Direct Storageは、アセットの解凍やデータのストリーミングにメインプロセッサーではなくグラフィックカード(GPU)を利用することで、ロード時間の大幅な高速化を実現しているのだ。実際の流れとしては、NVMe SSDのデータは、システムメモリー(RAM)経由で、GPUのVRAMにそのまま転送される。この際に一度に大きなデータをメインメモリやVRAM上にロードするのではなく、データを小さく分割し、レンダリング中のシーンに必要なものだけをロードしていく。そして、そのデータはこれまでCPUが行っていた解凍処理をGPUが肩代わりし、自らが使えるようにデータを解凍処理を行う。このように効果的にCPUをバイパスして処理を行うことでDirectStorageでは貴重なCPUリソースを節約する事が出来るのだ。結果として、DirectStorageを取り入れることで、CPU負荷を低減し、メモリを効率的に利用することができ、高品質なシーンを再現できる。
DirectStorageはWindows 10とも互換性があるが、Windows 11では最新のストレージ最適化が組み込まれているため、より効果を感じることが出来る。また、どのようなストレージデバイスでもメリットを感じることができるが、NVMe SSDにゲームをインストールすると、IOパフォーマンスを最大化し、DirectStorageのメリットをより完全に体験することができるとのこと。ただし、今回リリースされたDirectStorage 1.0では、GPUによる解凍(上図3)はまだ実装されていない。
DirectStorageの実装によって、将来的には、CPUがより優れたAIや物理演算などの他の処理を担当し、GPUがさらに優れたグラフィックを待ち時間なく画面に表示できるようになるだろう。また、長期的には、これまで低速だったデータウェアハウスであるハードディスクが、将来的には本格的な「ラストレベルキャッシュ」として、ロードタイムなしに膨大な転送速度でデータをストリーミングすることも考えられる。
Source
- Microsoft DiretX Developer Blog : DirectStorage API Now Available on PC
コメントを残す