Microsoft back in March this year announced the DirectStorage API for Windows. Keeping things simple, DirectStorage sends the game’s compressed files directly to your GPU. This leads to insanely fast load times, as is the case with the Xbox Series X and the PS5. For more insight, you can read our detailed coverage about DirectStorage here.
While this technology is indeed game changing, developers have not been the fastest to adopt it. Initially, Microsoft only introduced a few changes that offloaded excess work from the CPU. DirectStorage 1.1 aims to introduce GPU Decompression which is the next major milestone in this technology.
What is GPU Decompression?
Games span across the size of tens if not hundreds of Gigabytes nowadays. For this reason, most of the data files are compressed in order to save storage space. This is effective but comes with a slight drawback. Those now-compressed files must be uncompressed in order to be used.
Suppose you load up your favourite game. The data is initially sent to your RAM, which after being processed (decompressed) by the CPU is sent to the GPU. This on-paper works fairly well, however, the CPU now has the additional burden of decompressing the game files.
Microsoft aims to revolutionize this technique by introducing GPU Decompression. Putting it simply, developers have always optimized their games with the CPU as the weightlifter in mind. With DirectStorage, data is directly sent from the storage device to the GPU.
Why the GPU?
GPUs have insanely fast parallel computational power as compared to CPUs. Modern CPUs feature somewhere between 4-24 cores. GPUs on the other hand are packed with more than 10,000 cores. Your GPU can divide the workload between these cores. Do note that GPUs can perform only specific type(s) of computing tasks much better than CPUs. A CPU can be thought of as an all-rounder which makes the GPU a power-hitter (Works fast in certain scenarios).
DirectStorage allows the GPU to sort of directly communicate with the storage device (Main Memory or RAM is still involved). Firstly, this reduces the burden on your CPU. Secondly, it allows for fast data transfer without the CPU’s intervention.
Load Time Improvements
The picture on the right showcases what you would typically expect on an NVMe SSD using CPU decompression. Whereas, the picture on the left uses the same NVMe SSD but with GPU decompression. DirectStorage 1.1 offers an almost 3x decrease in load times.
DirectStorage can work with Windows 10, although Windows 11 is the ‘preferred’ option. For the storage device, an NVMe SSD (not specific) is required. The support will vary from game-to-game, so do not expect all games to have almost instant load times. As for the GPU, any modern DX12 graphics card with Shader Model 6.0 support can be used.
Several factors affect game performance when it comes to compression/decompression. Here’s a breakdown of what works and what’s recommended:
OS: DirectStorage games will work on both Windows 10 and Windows 11, but there are additional optimizations in the IO stack available to Windows 11 users, so that is our recommended choice for the best improvements. Games running on both Windows 10 and Windows 11 will see gains from an efficient GPU decompression implementation, as the key component to this feature is moving the workload from the CPU to the GPU rather than changes to the OS itself.
Storage Device: DirectStorage enabled games will work on all devices (. You’ll need an NVMe SSD, where the bandwidth capabilities are much higher and the storage media itself is faster, to see the significant improvements of DirectStorage. We highly recommend ensuring your game files are saved to an NVMe to get the best gaming experience.
GPU: Any DirectX 12 capable GPU that supports Shader Model 6.0 will be able to take advantage of the new feature, we recommend a DX12 Ultimate capable card.
Microsoft in partnership with NVIDIA have designed the GDeflate compression format for DirectStorage 1.1. These compression formats can vary based on their compression ratio and runtime performance.
GDeflate is a novel lossless data compression standard optimized for high-throughput decompression on the GPU with deflate-like compression ratios
GDeflate makes the GPU do the heavy lifting, thus lowering the CPU usage. This format has been designed in such a way that it is scalable across various GPU architectures. The supported architectures have not been mentioned however.
Microsoft states that the DirectStorage 1.1 SDK will be available to developers ‘soon’. Gamers will have to wait for a while longer because games more often than not take a while to implement new technologies.