Microsoft has launched their DirectStorage API, transforming PC game storage
DirectStorage has finally launched
Published: 15th March 2022 | Source: Microsoft |
Microsoft's DirectStorage API will make NVMe storage a must for PC gamers
Today's games don't make great use of SSD storage. Most software applications treat SSDs as faster hard drives, and while that is true, it minimises the potential of today's fastest drives. With the introduction of SSD-based storage into consoles, developers are now interested in fully exploiting the potential of SSD storage, and that's where Microsoft's DirectStorage API comes into play.
Microsoft's DirectStorage API was designed for Xbox Series X and Xbox Series S. The DirectStorage standard will also be coming to PC for everyone with PCIe Gen 3 (or faster) NVMe storage and a DirectX 12 compatible graphics card, delivering the same performance benefits to gamers on PC and Xbox. That said, DirectStorage is best used with DirectX 12 Ultimate compatible graphics hardware.
DirectStorage is designed to make more efficient use of system resources and take advantage of modern NVMe storage solutions, reducing I/O overhead on CPUs while also feeding graphics cards with data faster.
Today, traditional storage mechanisms feed data from storage and onto system memory, decompresses the data on your CPU, and then load the GPU memory data. With DirectStorage, the same data could be loaded onto your graphics card's VRAM using a more direct path, saving CPU resources and system memory in the process. That said, this will force your graphics card to decompress its own data, spending some GPU resources. Additioanlly, future updates to DirectStorage will save more CPU resources by offering GPU accelerated decompression.
Today's games aren't designed for SSDs
Most of today's latest games are designed to be loaded from hard disk drives (HDDs), even many games for PlayStation 5 and Xbox Series X/S. The game development work remains in its "cross-generation" stage, sitting between Xbox One and PS4 and today's newest systems. Games are still being created with the limitation of HDDs in mind.
With DirectStorage, Microsoft hopes to make better use of modern storage mediums by optimising their storage/IO performance for fast NVMe storage devices. This will allow developers to access the full performance of today's fastest SSDs, enabling faster loading times and faster asset streaming while in-game.
While Microsoft recommends NVMe SSDs with DirectStorage, older SATA AHCI SSDs will support DirectStorage. That said, newer NVMe SSDs are recommended going forward.
This isn't DirectStorage's Final Form
DirectStorage is designed to increase the efficiency of I/O operations, moving data directly to where it is needed while reducing unnecessary CPU loads. This will allow game developers to reduce the CPU overhead of their I/O workloads, effectively increasing available CPU resources for other tasks.
Right now, DirectStorage is only part of the way though its development roadmap. While the API is ready, all of its intended features are not. Microsoft plans to enable more features that will offload work from your CPU, including work on GPU-based decompression.
GPU accelerated Decompression is coming
GPU-based decompression has the potential to decrease the size of future PC games and significantly reduce CPU overhead. Modern NVMe SSDs can offer users insane sequential speeds, and decompressing that amount of data is not an easy task. In the future, DirectStorage will be updated to allow GPUs to decompress assets, allowing decompression workloads to be completed faster while reducing CPU overhead further.
With DirectStorage, data will be moved directly to your GPU and decompressed faster than ever before, enabling faster loading times, more compressed game files, and boosted CPU performance.
DirectStorage is a gamechanger, enabling faster loading times while enabling a more varied gaming experience. With games taking full advantage of NVMe storage, loading times will become much shorter, and in some cases, they may disappear entirely.
With Microsoft new storage API, game developers will be able to optimise their programs to utilise the performance of ultra-fast NVMe SSDs, feed graphics cards with data at a faster rate with less latency and reduce the system overhead of high I/O rates. These benefits are achieved through extra parallelism, more direct storage access and optimising I/O with SSDs in mind.
With decompression workloads moving onto graphics cards, Microsoft has worked to create GPU-friendly compression solutions that work well on modern graphics cards. That said, Microsoft has laid the groundwork for a DirectCompute decompressor, which can be implemented in silicon to deliver ultra-fast decompression rates on future CPUs and GPUs.
In the past, SSDs were treated by software as fast HDDs, often failing to take advantage of the strengths of the medium. While today's fastest NVMe SSDs are orders of magnitude faster than their SATA-based counterparts, the performance disparity between these products rarely seen in consumer application, especially in games. Moving forward, this will change. Microsoft's DirectStorage API will allow developers to exploit NVMe storage fully, and in time that will make NVMe SSDs a must for PC gamers.
As we move further into the current console generation, games will make more extensive use of the NVMe SSDs within Xbox Series X, Xbox Series S and PlayStation 5. This movement will make NVMe storage a must for PC gamers, as storage speeds will soon impact loading times and gameplay.
You can join the discussion on Microsoft's DirectStorage API on the OC3D Forums.