Current games require a large amount of data and to reduce their size these assets are compressed. When the title is run on a PC, the assets are transferred to system memory and uncompressed by the CPU before they are copied to GPU memory for use when needed. The transfer and decompression of this data greatly contributes to load times and can also limit the amount of detail that makes up the game’s world, settings, characters, and objects.
With DirectStorage, the data transfer part has been improved to take advantage of the higher bandwidth of NVMe SSDs. According to Microsoft, games with DirectStorage installed on NVMe memory can reduce their load times by up to 40%. With DirectStorage 1.1 we want to go further and to achieve this the API will transfer the decompression work from the CPU to the GPU. Until now this process has been done in the CPU because historically compression formats have been optimized for this hardware.
However, GPUs are very efficient at performing repetitive tasks in parallel, a capability that can be used alongside the bandwidth of an NVMe drive. The result is better data transmission to reproduce the game world and loading times that Microsoft says can be up to three times faster. Also, with this method the CPU is freed up and its resources can be used to drive other processes in the game.
CPU decompression takes 2.36 seconds, while the GPU drops that time to 0.8 seconds.
DirectStorage 1.1 will be available at the end of 2022 and after that it will be up to developers to take advantage of GPU decompression. Nvidia and AMD will also need to do their part by releasing drivers for their graphics cards to support DirectStorage 1.1. The improvements in this new version of the API will be available on both Windows 10 and Windows 11. Performance on both systems should be similar, but Microsoft maintains that there are additional optimizations in Windows 11.