Direct Storage Explained – Why Gen 4 SSDs Matter

First off I want to make it clear that this video is sponsored by Lexar and their NM800 PCIe Gen 4×4 NVMe SSD – and that’s a rather good match because this video is all about Microsoft’s Direct Storage API, and how that’s likely to transform how games load in, their performance and why a blazing fast drive like this will soon be your best friend.

Game loading times can be painfully long for an impressive number of reasons – GTA V Online is a prime example of a large game that takes forever to load in, but most of the loading time was actually just bad programming. Rockstar had the game parsing a big block of JSON data – basically just a text file – on a single thread which took ages. That’s an excellent read by the way, I’ll link that in the description, but thankfully Rockstar have now fixed that issue.

Other load-in times can be slow just because it’s a large game and your storage device isn’t all that fast. Loading Cyberpunk 2077 for example, from a SATA hard drive is going to take something like 30 seconds, but on this Lexar NM800 PCIe Gen4x4 drive it’s more like 8 seconds. That’s a considerable improvement, and can actually go a long way to making an open world game like that much more playable and enjoyable.

But if you were to compare loading from say a slower Gen 3 drive instead, well then it’s more like a 1 second difference. Hardly as impressive for sure. That’s because there is another bottleneck – and it’s actually your CPU. Ok, technically your CPU isn’t the problem, it’s how games currently have to load data from storage. You’d like to think that the graphics card can just ask your drive for the data it needs, but no. Instead, the data gets loaded from your drive to your system memory – via your CPU – then back to the graphics card – via the CPU again. This delay can hurt both game loading times and occasionally even outright performance, and is one of the reasons why we need more and more VRAM as the GPU needs to store more than it needs to keep everything moving.

So, enter Direct Storage, part of Microsoft’s DirectX 12 (or D3D12 specifically) API. This lets your graphics card load directly from your storage which is a pretty huge improvement. It’s only just launched so games aren’t supporting it as of yet, and yes the games themselves need to implement it, so older titles (especially non-DirectX 12 titles) likely won’t see this added. Newer titles though can start to be designed with the knowledge that the GPU can much more efficiently swap out data from VRAM to storage which means they can be more free to design levels and worlds without as much concern for VRAM capacity.

That’s where having an insanely fast SSD might just come into its own – this Lexar drive can peak at an astonishing 7.4GB/s in reads which is plenty to keep your GPU happy. It’s worth noting the NM800 also features Low-Density Parity Check so it’s checking and repairing any data errors automatically so you can be confident even when using Direct Storage that you’ll have a stable and reliable experience.

Ok, so you can stream data from your drive directly, so what? Well, gone are the days where you need to load the entire level and everything on it before you can play. Instead we use asset streaming – some games do this for entire sections of the map like GTA V or Cyberpunk, some do it for individual objects, often things in the distance. This swap-in-swap-out style of data means the game engine needs to load in that new data fairly regularly.

Let’s run the only actual demo – this is the MiniEngine Model Viewer. This is a model that’s been tweaked to let Direct Storage work with it well – it took around 330ms to load this single model (around 50MB of data). Now let’s launch it from the NM800 with Direct Storage and.. Damn that’s just 80ms! That’s a crazy difference, and if you extrapolate those times to larger datasets you start to see the difference in more real-terms. Loading 5GB of data currently would take around 30 seconds, but with Direct Storage it’s more like 8 seconds!

There is one catch though, which is that while this sample pack does contain a compressed version of the model – using the ZLIB compression algorithm – that decompression is being done by the CPU, not the GPU, so the data is still going via the CPU. This is a feature that NVIDIA’s RTX IO supports, and is something Microsoft is working on implementing, but it’s not there just yet.

Either way, Direct Storage seems to be a pretty big leap forward in how games actually run on your system, and should put more emphasis on having as much bandwidth to your storage as possible. Which brings me nicely back to the sponsor of this video, Lexar, and their NM800. I’ll have this linked in the description so you can check it out. It’s a great fit for everything from gaming to content creation, like I’ve mentioned already features Low-Density Parity Check and even boasts a 3 PETABYTE written rating which is incredible especially for a 1TB drive like this, oh and did I mention it’ll even do up to 5.8GB/s writes too? Yeah, it’s crazy fast.

https://nee.lv/2021/02/28/How-I-cut-GTA-Online-loading-times-by-70/