Microsoft DirectStorage and Its Potential for PC Gaming
Whenever you are performing any task on your PC, be it gaming or general productivity tasks, there is always a limiting factor that is present in the system. That limiting factor is responsible for deciding the ceiling of your PC’s performance in that particular workload. These limiting factors are often called “Bottlenecks” and they are impossible to avoid. In any PC at any given time, there is some form of limiting factor or bottleneck present that limits the overall performance of your PC. Hypothetically, if we completely remove all bottlenecks from a system successfully, then the theoretical performance of that system would be infinite, and that is certainly impossible.
The most common bottlenecks that affect gaming performance are your graphics card and your CPU. Graphics card is by far the most common cause of bottlenecking in games, with CPU bottlenecking following it in prevalence. Bottlenecking is not necessarily a bad thing, it just provides a limitation to how much performance your PC is capable of producing. Other hardware components that may bottleneck the performance of your system include your memory and cooling solutions. Yes, even your CPU cooler can be a bottleneck in certain scenarios.
Of course, those who are invested in the world of PC gaming are already familiar with CPU and GPU bottlenecks. Internet forums are full of queries about bottlenecks, and you might have even found yourself wondering about bottlenecking every now and again. But one type of bottleneck that is almost never discussed is “storage bottleneck”, which means that it is your storage device that is limiting the performance of your PC in a particular workload. Microsoft DirectStorage is a direct solution for the alleviation of any kind of storage bottleneck so that games can progress into the next era of realism and technological advancements.
Storage bottlenecks
While CPU and GPU bottlenecks are fairly straightforward to understand most of the time, the same cannot be said for storage bottlenecks. A storage bottleneck is simply a bottleneck that is caused by your storage device, that being your particular hard drive or SSD. These types of bottlenecks are extremely uncommon in games of today, and there is a simple reason for that. Since hard drives have been our primary form of storage for decades now, game developers have always developed their games with hard drives in mind. Even game consoles used to have slow, mechanical hard drives up until the latest generation of PS5 and Xbox Series consoles.
Since hard drives are extremely slow even when compared to a moderately fast SATA SSD, developers had to devise workarounds in order to prevent the slow speeds of hard drives from hurting the gaming experience. This led to the development of game levels with different loading screens that sequentially load the entire scene in intervals, rather than loading them on-the-fly. In fairly modern games like GTA 5 and Red Dead Redemption 2 with massive open worlds, this meant that loading times on hard drives were notoriously long, even spanning multiple minutes. This is the workaround that is used in all old and modern games and it is also the reason why hard drives don’t impact the gaming performance of the PC after the level has been completely loaded.
As we noted in our comprehensive guide for buying an SSD, there is no noticeable difference in the performance of a game between a hard drive and an SSD. Even blazing-fast PCIe Gen 4 drives are not going to give you extra FPS over a standard mechanical hard drive. This is because developers have not made the games dependent on the storage medium while they are being played, in order to remove the storage drives as a potential bottleneck. As soon as we try to load a game, however, the story changes as SSDs are much faster at loading games than hard drives. This means that the extra speed and performance of the much more expensive SSDs is being left on the table while in-game, simply because the games have been developed with hard drives in mind. This is the problem that Microsoft DirectStorage aims to solve.
Microsoft DirectStorage
DirectStorage API is a groundbreaking new feature that will allow next-gen games to take advantage of the extremely fast PC SSDs to greatly reduce loading times in and between games. This is the same technology that is present, in a slightly toned-down form, in the Xbox Series X. Named the Xbox Velocity Architecture, it is a suite of gaming technologies that helps the Xbox Series X take advantage of its substantially powerful hardware quite effectively to massively reduce load times and improve the streaming responsiveness of assets while in-game.
One of the most popular features of the new PS5 and the Xbox Series X is their insanely fast loading times. This is due to the implementation of technologies similar to Microsoft DirectStorage, which take advantage of their extremely fast SSDs to massively reduce loading times in games. Not only that, these technologies allow the seamless streaming of assets while jumping between levels in a game, as was shown in the preview of the new Ratchet and Clank game on the PS5.
DirectStorage API aims to bring this technology to PCs and to ultimately lead gaming into the next generation. The goal for next-gen gaming is quite obvious from all the different technical features that are baked into the new consoles. The PS5 and Xbox Series consoles are rife with technology that has a singular aim of reducing and ultimately eliminating loading screens from games. DirectStorage API avoids the flaws of older storage APIs by being able to handle far more simultaneous requests for data and information from the games, leading to more efficient use of bandwidth and consequently faster speeds. This allows the games to become bigger and more detailed using the same hardware that exists right now.
Need for DirectStorage
DirectStorage is the tool we need to truly lead gaming into the next generation. Games today are graphically amazing with smooth animations and impressive gameplay, but there is one problem that we have not been able to solve for decades now and that is the presence of loading screens. As games are becoming more and more expansive with massive open worlds and hundreds and thousands of assets, loading screens are becoming longer and longer instead of going the other way. With increasing load times, we are actually going backward in this regard rather than progressing forward and eliminating load times. As explained earlier, the presence of long loading times and intermittent loading screens is due to the inherent developmental hurdles that present themselves due to the usage of slow hard drives.
Even with super-fast SSDs, we are not able to completely eliminate loading screens from gaming today. The fastest SSDs today make use of the PCIe Gen 4 technology and can reach theoretical maximum speeds of up to 7 GB/s, yet they only offer a few second advantage in game-loading times when compared with an aging, old hard drive. This is because the games of today are not fully equipped to take advantage of the massive bandwidth and fast speeds of the SSDs that are present today. This problem is one that Microsoft DirectStorage aims to solve going forward.
Requirements
While the actual official requirements for Microsoft DirectStorage are not publicly available as of the time of writing, there are some speculations floating around about this matter. Firstly, Microsoft DirectStorage API is coming in conjunction with Microsoft DirectX 12 Ultimate, and this means that you definitely need to have the latest build of Windows 10 installed when DirectStorage finally launches. This is a software-level requirement that can be quite easily fulfilled by most gamers.
The second requirement for DirectStorage might be a bit harder to fulfill. DirectStorage will take advantage of one of the super-fast NVMe and PCIe Gen 4 SSDs that are currently available on the market today. This means that slower SATA SSDs and older hard drives simply do not have the raw bandwidth or the speeds to handle the amount of data that needs to be transferred when DirectStorage comes into play. For optimal performance, you will need either a PCIe Gen 3 NVMe drive or an even faster PCIe Gen 4 drive, both of which have some blazing fast options. Our recommendations for the 5 best PCIe Gen 4 SSDs can also be found here.
Microsoft explained their choice of the NVMe protocol in a blog post about DirectStorage:
NVMe devices are not only extremely high bandwidth SSD-based devices, but they also have hardware data access pipes called NVMe queues which are particularly suited to gaming workloads. To get data off the drive, an OS submits a request to the drive and data is delivered to the app via these queues. An NVMe device can have multiple queues and each queue can contain many requests at a time. This is a perfect match to the parallel and batched nature of modern gaming workloads. The DirectStorage programming model essentially gives developers direct control over that highly optimized hardware.
In addition, existing storage APIs also incur a lot of ‘extra steps’ between an application making an IO request and the request being fulfilled by the storage device, resulting in unnecessary request overhead. These extra steps can be things like data transformations needed during certain parts of normal IO operation. However, these steps aren’t required for every IO request on every NVMe drive on every gaming machine. With a supported NVMe drive and properly configured gaming machine, DirectStorage will be able to detect up front that these extra steps are not required and skip all the necessary checks/operations making every IO request cheaper to fulfill.
For these reasons, NVMe is the storage technology of choice for DirectStorage and high-performance next generation gaming IO.
Impact on Gaming
Microsoft DirectStorage is probably the biggest leap forward in gaming since real-time RayTracing and DLSS were introduced with Nvidia’s RTX series. In fact, many enthusiasts believe that DirectStorage will rival Nvidia’s Deep Learning Super Sampling technique in the amount of impact that it has on gaming going forward. DirectStorage will bring best-in-class IO tech to both PCs and consoles just like what DLSS does with rendering techniques. Going forward, there will be a lot more focus on removing any loading screens from the game and streamlining the loading of assets on-the-fly, rather than improving graphical fidelity by considerable margins.
A part of the reason for this shift in focus is due to necessity. Loading screens and long loading times have been the Achilles’ heel of many amazing games of today. These factors take away from an otherwise perfect gaming experience, simply because they do not feel contemporary to the graphics and the gameplay elements of the game that is being played. Today, we have hugely impressive games with realistic graphics such as Red Dead Redemption 2 and Assassin’s Creed Valhalla, but even these games have huge loading times even on high-end gaming PCs. This reduces the immersion factor and prevents the game from feeling truly next-gen.
Conclusion
Microsoft DirectStorage API is the response to evolving storage and IO landscape in PC gaming. DirectStorage API aims to improve PC gaming in two primary areas; reducing frustratingly long load times of the past and enabling games to be more detailed and expansive than ever. DirectStorage is the extension of Microsoft’s Xbox Velocity Architecture that is present in current-gen Xbox consoles that allows the system to take advantage of the supremely-fast SSD that is present in the console to significantly cut-down load times and to improve the streaming of assets while in-game. A similar implementation is present in Sony’s PlayStation 5.
PC Gaming is now playing catch-up to the consoles in this regard, but Microsoft has the answer. With the help of a modern Windows 10 machine and a fast NVMe drive, DirectStorage API will help reduce game loading times significantly while also improving the overall development strategy of the games going forward. While game developers had to introduce loading screens and various obstacles in order to account for slower drives in the past, that would no longer be the case with the introduction of DirectStorage. Game developers will no longer have to limit their imagination due to slower hard drives or older SATA SSDs, and the PC gaming industry will truly enter the era of next-generation gaming.