Earlier this month, Microsoft publically released the DirectStorage API, designed to overcome the existing Input/Output (IO) bottlenecks the Win32 API has with the latest games.
At GDC 2022, Microsoft Software Engineer Cooper Partin talked about optimizing IO performance with DirectStorage on Windows. He said this is no direct port of the DirectStorage API available for Xbox Series S|X; this version has been tailored to the unique needs of the PC system.
The most exciting part is where Partin says the API can deliver 20-40% CPU savings as it is, provided you're running it on Windows 11 with an NVMe SSD. Game developers could then use those CPU cycles to do something else.
The DirectStorage run time provides game developers the ability to reduce that CPU usage as well as the load times in their title. This tech will work well with NVMe drives in combination with streaming architectures.
Now, reducing the CPU overhead. This is a key benefit that I really want to stress, and you're going to hear me say it multiple times in this talk. The more CPU cycles that are freed up for a title, they can be leveraged elsewhere in that title, improved background processing. AI workloads or anything, additional experiences, for example.
Let's talk about that CPU reduction that I referred to there. DirectStorage is designed for modern gaming systems. It handles smaller reads really efficiently, and you can batch things together to get more work done. When fully integrated with your title, DirectStorage with an NVMe SSD on Windows 11 reduces the CPU overhead in a game by 20 to 40 percent. This is attributed to the advancements made in the file IO stack on Windows 11 and the improvements on that platform in general.
DirectStorage also supports Windows 10 (19H1+), but on the older OS, it is a fallback implementation that uses an optimized file IO layer built on top of the Win32 API. While it will leverage patterns like async IO and completion ports to maximize throughput on Windows 10, the performance won't be quite the same as on Windows 11.
As mentioned in the Forspoken GDC 2022 talk, the Microsoft engineer confirmed that the current API release still relies on CPU decompression. GPU decompression is on the way, though, promising further improvements to both loading times and CPU overhead.
Our first DirectStorage release introduces CPU decompression, and that's what you're using now, but we're not going to stop there. We're going to continue to free up a lot more CPU cycles by finding more creative ways to offload decompression to other parts of the system.
For example, the GPU. In the future release, you'll be able to use DirectStorage to decompress assets using that GPU and this is more CPU savings for you where you can do more additional work in your title.
NVIDIA has been silent on the RTX IO technology for quite a while, but that should change whenever Microsoft implements support for GPU decompression in the API.
So far, the only game to support DirectStorage is Forspoken by Luminous Productions. Of course, we'll keep you up to date on any new announcements. Stay tuned!