DirectStorage 1.2 Adds Buffered IO Mode to Speed HDD Performance
DirectX Developers at Microsoft Release DirectStorage 1.2 (opens in new tab)A highlight of this version’s introduction is the option to enable buffered IO mode to speed up transfers from slow storage media such as HDDs. Another tweak allows developers to see which decompression processing path is currently in use. Last but not least, there are intelligent switches and some bug fixes to improve GPU decompression performance.
to provide some background direct storage, Microsoft’s DirectX API is designed to bring speed, bandwidth, and latency optimizations to the Windows storage subsystem. Additionally, it brings Xbox technology where game assets are streamed directly from storage to the GPU. On Microsoft’s Xbox, this technology was called the Xbox Velocity Architecture and relied on the new high-speed NVMe storage in the Xbox Series X/S consoles. Initially, fast SSDs were a requirement for DirectStorage implementations on PCs, but with v1.2 Microsoft has responded to gamers still hanging in the spinning rust.
New in DirectStorage 1.2 is the ability to use the same code path for both blazingly fast SSDs and older HDDs. Microsoft says it gets data from storage to the GPU as soon as possible before DirectStorage 1.2 files are opened in non-buffered mode. However, it is now possible to run DirectStorage in buffered mode to “mask the long seek times” of HDD technology.
Developers using DirectStorage 1.2 must use a new switch to enable the HDD compatibility setting as well as background configuration. Microsoft emphasizes that it is the game/application developer’s responsibility to use and apply this setting correctly and should only be used on slower HDDs. Although not mentioned in Microsoft’s blog post, buffering means that this feature creates additional system RAM overhead.
The second major addition in DirectStorage 1.2 is not new for end users, but is designed to help developers better understand the decompression paths used in the API. The aptly named new GetCompressionSupport API is important because “there are scenarios where a CPU-based fallback path is chosen,” he explains Microsoft. By better understanding why and when fallback modes work, developers can better optimize texture resolution settings.
The only performance improvement highlighted in DirectStorage 1.2 is also focused on GPU decompression of textures. Microsoft has “moved the post-GPU decompression copy to the faster GPU computation queue” for this performance boost. His three bug fixes for DirectStorage are also highlighted in Microsoft’s blog post.
In October 2022, Microsoft reported on a much more significant update to DirectStorage 1.1 when it claimed games loaded as much as 40% faster. In January, the first of his DirectStorage 1.1 comparisons with the GPU as a variable was won by Intel’s Arc Alchemist architecture.