Microsoft has released version 1.2 of its DirectStorage SDK and has a surprise addition that will help speed up old hard drives. While DirectStorage initially launched as a way to stream data from the latest speedy NVMe solid state drives to your GPU without a CPU slowing things down, Microsoft has heard from developers that improved support for legacy hard drives would also benefit games.
Parts of DirectStorage have always worked on hard drives, but developers have had to use separate methods for NVMe devices and HDDs. That complicates the process of supporting an API that’s really designed for high-speed SSDs that aren’t always used by PC gamers to store and play games.
With DirectStorage 1.2, developers can now use the same code on both SSDs and HDDs. While DirectStorage has traditionally used an unbuffered mode to pass data from SSDs to the GPU as fast as possible, it now supports a buffered mode for legacy HDDs.
“The legacy hard drives require buffered IO in order to mask the long seek times,” says Microsoft’s DirectX team. Developers will now be able to enable this mode for games installed strictly to slower HDDs so they can benefit from OS file buffering features and speed increases.
Microsoft is also improving its GPU decompression of textures to make it more speedy in DirectStorage 1.2. GPU decompression was initially introduced in version 1.1 of DirectStorage late last year and allows games to offload the work needed to decompress assets to the graphics card instead of the CPU.
All of these recent changes to DirectStorage are encouraging, but we’re still waiting to see games adopt them. So far, only Forspoken has added DirectStorage support, and during our own testing, we saw Microsoft’s technology improve load times by around 30 percent or more. Nvidia, AMD, and Intel are all ready to support the latest GPU decompression techniques of DirectStorage, so hopefully we’ll see more game developers support the technology now that it more clearly benefits older hard drives.