Microsoft, via its Developer Blog has announced the availability of the DirectStorage API (Application programming Interface) for Windows PCs. Available for both Window 10 and Windows 11, the new API brings speed, bandwidth and latency optimizations for the Windows storage subsystem that should scale with storage performance - especially for some of the best, high-speed NVMe options. The announcement comes days after we've got confirmation of the first game with baked-in DirectStorage support, Luminous Productions' Forspoken.
The new API provides game and application developers with a new model for IO management, which should lift bandwidth bottlenecks currently affecting the latest storage technologies such as NVMe and even older SATA III SSD drives - which were introduced more than a decade ago, in 2009. In theory, this should unlock available performance that's currently not being tapped. According to Microsoft, DirectStorage means users "can look forward to vastly reduced load times and virtual worlds that are more expansive and detailed than ever."
The legacy data decompression routine is a long one: data is passed from the storage subsystem towards system RAM, where it can be acessed and processed by the CPU. As the CPU delivers the decompressed data back to system RAM (in however many data trips that requires), the decompressed results are then again copied over - this time to the GPU VRAM, which finally uses the decompressed assets to generate the game world.
The new DirectStorage API cuts through that long road. Now, assets are copied to system memory via an optimized storage stack. Then, instead of taking the long way around through the CPU, data is directly copied to the graphics card VRAM. Then, the data is decompressed in a more rapid and efficient manner by the GPU, which frees up CPU cycles for other duties. Higher performance, lower latencies, and even lower energy costs can be unlocked this way.
Microsoft initially announced DirectStorage as a Windows 11-exclusive technology, bridging the gap between the Xbox's Velocity architecture (and its closer-to-the-metal approach) and Windows' relatively dated IO management. However, the company has since reversed its stance, and is making DirectStorage available for the older version of Windows as well - despite Microsoft saying that Windows 11 features "further storage optimizations" that should result in stronger overall IO performance compared to the previous version of the OS.
Unfortunately, a crucial element of the tech - at least when it comes to gaming - isn't being included in this API release version as yet. In the announcement blog, Microsoft explained that GPU decompression still is't baked in, despite being next on the company's roadmap. That is likely the single most important element for gaming scenarios, which will allow game developers to take advantage of GPU's shading performance and advanced parallelism to directly decompress game assets. This provides the added benefits of freeing up CPU cycles that would otherwise be responsible for the decompression routines (freeing it up for other performance-sensitive duties), whilst also reducing data shuffling between storage, operating memory, the CPU and the GPU. That feature not being available as yet means that IO performance can still be improved due to the revised storage subsystem, but leaves a lot of performance on the table - and still requires the CPU to do the heavy-lifting in decompressing game world data.