Microsoft DirectStorage and GPU decompression: Loads up to 3x faster
DirectStorage 1.1 is coming, with an important change. The new version of Microsoft’s API that points to revolutionize the entire data management chain within the operating system, takes a major step forward with the decompression of assets by the GPUa fundamental step to obtain the maximum benefits from technology.
As explained several times in the past, DirectStorage was born for make the most of modern SSDsmaking use of the GPU for decompression of game assets and unloading the CPU from certain operations in order to speed up and reduce the frequency of loading of game scenariosespecially in the increasingly vast worlds of RPGs and the like (more details here).
DirectStorage is already a fundamental part of the Xbox Series X | S and its expected arrival on both Windows 10 and Windows 11, after what appeared to be an initial exclusivity for the latest version of the OS. Windows 11, however, enjoying input / output stack optimizations, should offer better performance (than we know).
And while DirectStorage works on any storage media, so also SATA SSD or HDD, clearly designed for NVMe SSDs and there that give the greatest benefits. Another thing to know is that the new technology supported by any DX 12 GPU with Shader Model 6.0 support.
Confirming the arrival of DirectStorage 1.1 in the hands of developers by the end of the yearMicrosoft ha caught the ball to highlight the benefits of the compression of assets and their decompression by the GPU in the gaming field.
That compression is essential for games is a fact: Hundreds of gigabytes of data are required to create a modern game, and in order to contain its overall size, assets must be compressed. As you play, assets are transferred to system memory, where the CPU decompresses them before copying them to GPU memory. Asset transfer and decompression contribute significantly to loading times and tie the hands of developers to create larger and more detailed open world scenes.
The DirectStorage API in version 1.0 was concerned with improving the data transfer part, allowing you to make greater use of the bandwidth of NVMe SSDs, thus reducing load times by up to 40%. But more can be done, and this is where the decompression of assets by the GPU comes into play.
Usually decompression works on the CPU because the compression formats have been optimized only for processors. With DirectStorage 1.1, Microsoft delivers an alternative method that moves the decompression of assets to the GPU. As is known, GPUs are extremely efficient in handling repeatable parallel operations and can use that capacity together with the high bandwidth of NVMe SSDs to do more work at the same time. As a result, the time it takes to load an asset decreases, reducing the loading times of a level and allowing for larger worlds that do not require interruptions for uploads.
Microsoft, in a highly optimized test, proved that when DirectStorage relies on decompression via the GPU the incredible step forward: scenes load almost 3 times faster and the CPU sees its occupancy go down, allowing for use by other game processes. In the example, it goes from 2.36 seconds used by the CPU via Zlib ai 0.8 seconds of the GPU with GDeflate. The latter is a new compression format developed with the contribution of NVIDIA, although it should be emphasized that AMD and Intel are fully involved in its adoption and in the evolution of DirectStorage; for this reason we expect drivers with DirectStorage 1.1 support from the three players in the coming weeks.
As for PC games with DirectStorage support, we have to wait a little longer: according to what we know, Forspoken will be the first to implement the API (we don’t know if partially or totally), but the title postponed to January 24, 2023. There was also talk of Scorn, but the developers denied it.