DirectStorage 1.2 Adds Buffered IO Mode to Speed HDD Performance
DirectStorage 1.2 Adds Buffered IO Mode to Speed HDD Performance
Microsoft’s DirectX developers have released DirectStorage 1.2 (opens in new tab). The headlining introduction with this version is the option to enable buffered IO mode to speed transfers from slower storage media such as HDDs. Another tweak allows devs to check the decompression processing path currently in use. Last but not least, there is an intelligent switch to improve GPU decompression performance and a handful of bug fixes.
To provide some background to DirectStorage, Microsoft’s DirectX API is designed to bring speed, bandwidth, and latency optimizations to the Windows storage subsystem. In addition, it brings Xbox technology, where game assets stream directly from storage to GPU. On Microsoft’s Xbox, the technology was dubbed the Xbox Velocity Architecture and relied on the new fast NVMe storage of the Xbox Series X / S consoles. Initially, fast SSDs were a requirement of the PC’s DirectStorage implementation, but with v1.2, Microsoft accommodated gamers still hanging onto spinning rust.
New in DirectStorage 1.2 is the ability to use the same code path on both thrillingly fast SSDs and ye olde HDDs. Microsoft says before DirectStorage 1.2 files would be opened in unbuffered mode, getting data from storage to GPU as immediately as possible. However, it has now made it possible to run DirectStorage in buffered mode “to mask the long seek times” of HDD technology.
Developers using DirectStorage 1.2 must enable the HDD-compatible setting using a new switch, and do some further background configuration. Microsoft stresses that it is the game/application developer’s responsibility to use and apply this setting correctly, and that it should only be used for slower HDDs. It isn’t mentioned in Microsoft’s blog post, but buffering implies this feature will create additional system RAM overheads.
The second major addition in DirectStorage 1.2 is not a new feature for end-users, but designed to allow developers to better understand the decompression paths being used by the API. The aptly named new GetCompressionSupport API is important because “there are scenarios where a CPU-based fallback path is chosen,” explains Microsoft. With a better understanding of why and when the fallback mode comes into play, developers can optimize texture resolution setting better.
The only highlighted performance improvement in DirectStorage 1.2 also focuses on GPU decompression of textures. Microsoft has moved “the copy after GPU decompression onto the compute queue for GPUs on which this is faster,” for this performance gain. A trio of bug fixes for DirectStorage are also highlighted by Microsoft’s blog post.
We reported on the much more significant update to DirectStorage 1.1 back in October 2022, when Microsoft claimed to have sped game loading by as much as 40%. In January we saw the first DirectStorage 1.1 comparisons where the GPU was the variable, and a win for Intel’s Arc Alchemist architecture.