How Microsoft and Nvidia plan to kill game-loading times on PCs

That blisteringly fast storage technology found in the next-gen consoles is coming to PCs too, debuting first with the RTX IO technology in Nvidia’s new GeForce RTX 30-series graphics cards. Microsoft just pulled back the curtain a bit more on how it works.

Yes, the creator of Windows is explaining how SSD technology works in a graphics card. No, it’s not as bizarre as it sounds.

Both the Xbox Series X and Nvidia’s RTX IO tap into Microsoft’s DirectStorage, a new DirectX API. Microsoft teased that it would be coming to PCs after the Xbox Series X announcement. This week, the company revealed a bit more about how the technology helps your SSD and GPU work more closely together to reduce (and possibly eliminate) loading times—though you’ll need a speedy NVMe drive to take advantage of it.

“With Nvidia RTX IO, vast worlds will load instantly. Picking up where you left off will be instant. This is a very big deal for next-generation gaming,” Nvidia CEO Jensen Huang said while introducing the technology. Instantaneous loading is also a key selling point for the Xbox Series X and PlayStation 5 launching later this year.

How Microsoft DirectStorage and RTX IO work

nvidia rtx 3080 jensen Nvidia

Nvidia CEO Jensen Huang holding the GeForce RTX 3080, which supports the company’s new RTX IO technology.

“Games have pushed PC IO and file systems to the breaking point,” Huang said. DirectStorage was built to smash past that. Traditionally, CPUs have both called game assets from your storage and decompressed them, passing the data through the system memory over to your graphics card. Microsoft’s Andrew Yeung explained why that worked well before, but not in an era of blazing-fast PCIe 4.0 NVMe drives:

“Previous gen games had an asset streaming budget on the order of 50MB/s which even at smaller 64k block sizes (ie. one texture tile) amounts to only hundreds of IO requests per second. With multi-gigabyte a second capable NVMe drives, to take advantage of the full bandwidth, this quickly explodes to tens of thousands of IO requests a second. Taking the Series X’s 2.4GB/s capable drive and the same 64k block sizes as an example, that amounts to >35,000 IO requests per second to saturate it.

Existing APIs require the [game] to manage and handle each of these requests one at a time first by submitting the request, waiting for it to complete, and then handling its completion. The overhead of each request is not very large and wasn’t a choke point for older games running on slower hard drives, but multiplied tens of thousands of times per second, IO overhead can quickly become too expensive preventing games from being able to take advantage of the increased NVMe drive bandwidths.”

In today’s world of 100GB-plus games with massive file textures and ludicrously fast PCIe 4.0 SSDs, that traditional CPU handoff has become the bottleneck.

But while CPU threads need to complete a task before moving onto the next one, GPUs excel at executing many tasks in parallel. DirectStorage takes advantage of that by letting ultra-fast NVMe SSDs send data directly to the ultra-fast dedicated VRAM on your video card. It’s essentially cutting out the pokey middle-man, while also freeing up your CPU to do other work.

rtx io nvidia Nvidia

An illustration of RTX IO’s potential benefits.

Yeung says DirectStorage offers multiple tools for developers to maximize storage performance: “by reducing per-request NVMe overhead, enabling batched many-at-a-time parallel IO requests which can be efficiently fed to the GPU, and giving games finer grain control over when they get notified of IO request completion instead of having to react to every tiny IO completion.”

Source Article