eスポーツシーンに変革が起きるかもしれないレイテンシー低減!
謎の新技術「RTX IO」と「NVIDIA Reflex」とは一体何者なのか
2020年09月06日 11時00分更新
GPUパワーで圧縮データを展開してVRAMに展開する「RTX IO」
前置きが長くなったが、RTX IOは圧縮されたデータをそのままストレージから読み出し、GPUパワーを使って展開した後にVRAM上に配置し、CPUの負荷を最低限にする技術だ。このSSDから直接データを読み出すための必須要素が「DirectStorage for Windows」で、RTX IOはこのDirectStorageを利用することで実現する。ではゲーム側で直接DirectStorageを利用すれば済むのでは? と思うところだが、GPUで展開して速やかにVRAMに届けるための機能も追加されているのだろう。
下の図ではNVMe SSDに適したキューサイズでのアクセスができるように読み取れるが、実際はSATA SSDであっても機能するし、IntelのOptaneでも問題ないとのことだ。最高のパフォーマンスを出すにはPCI Express Gen4接続のNVMe SSDが理想だが、Gen3でも十分効果は得られるらしい。ただし、これは詳細な検証が必要だろう。

RTX IOは圧縮されたデータを直接GPUが読み込み、GPUで展開してVRAMにデータを置く。非同期で処理できる上にSSDに適したアクセスもできるし、CPUの負荷も最低限で済む。GPUの負荷も上がるが、それほど高くない(本当だろうか……)とのことだ

Gen4 SSDで非圧縮のデータを扱うなら8GB/sが理論限界だが、Gen4 SSDで2:1圧縮すれば実質14GB/s相当の効率は出せる。しかし、非常に多くのCPUコア(図中の青い四角)が動員される。だが、RTX IOで2:1圧縮データを読み込めば、CPUの負担は極めて低くなる、と言いたいようだ

GeForce RTX 30シリーズ発表時にデモした「Marbles」の読み込み待ち時間を比べたデモ。RTX IOに相当する機能を使うと1.62秒で終わるが、従来の手法では5秒近くかかる、という内容だった(CPUは24コアのThreadripperとのこと)

上の画像の結果をグラフにしたもの。HDDだと圧縮データを使っても38秒、NVMe SSDとTheadripperを使いCPU展開させると5秒かかる処理が、RTX IOを使えば1.5秒になる、というもの。NVMe SSDにおける非圧縮データ時の情報がないのは残念ではあるが……、興味深いデータではある
このRTX IOはGeForce RTX 20/30シリーズのほか、GTX 16シリーズでも動作するので、多くのユーザーにメリットのある期待の新機能だ。しかし、ゲームでRTX IOが広く使われるようになるには長い道のりになりそうだ。まずはDirectStorage for Windowsが実装されたWindows 10のアップデートが配布され、DirectStorageもゲームエンジンなどから手軽に利用可能になり、その上でゲームが対応するというハードルを越える必要がある。どう急いでも2〜3年はかかると見ていいだろう。
