Forspoken Loads in Less than Two Seconds on M.2 SSDs Thanks to DirectStorage

Tsing

The FPS Review
Staff member
Joined
May 6, 2019
Messages
10,994
Points
83
Microsoft officially released its DirectStorage API for PC developers last week, but how fast will the new technology that promises to drastically reduce loading times in games by leveraging the speed of modern storage solutions such as M.2 NVMe SSDs actually be? Incredibly fast, according to a new video showcasing various technologies employed in Square Enix and Luminous Productions' upcoming fantasy RPG, Forspoken.

Go to post
 
Hopefully Direct Storage will be patched into something I play soon?
 
What I really want to see is a comparison of a system with and without direct storage api emabled. Not sure how to do that without the game having a setting. Maybe disable in the registry? Something to look into.
 
What I really want to see is a comparison of a system with and without direct storage api emabled. Not sure how to do that without the game having a setting. Maybe disable in the registry? Something to look into.

They did post comparisons with and without DirectStorage. Not a big difference, but measurable. The bottleneck seems to be the decompression stage, at least in their specific workflow. Lots more in the Youtube video.


85264_57_forspoken-loads-in-just-1-second-on-pc-with-directstorage_full.png
 
They did post comparisons with and without DirectStorage. Not a big difference, but measurable. The bottleneck seems to be the decompression stage, at least in their specific workflow. Lots more in the Youtube video.
Wow that graph says a lot.

Should revise the title of the post to "

Forspoken Loads in Less than Two Seconds on M.2 SSDs Thanks to DirectStorage (and just 2.1 seconds without it thanks to optimized programming)


Yeah.. 0.2 seconds difference is ... not exactly very exciting. I'm... extremely apathetic about it now, and feel even worse about Windows 11 than I had before. Sure, those IO speed graphs look awesome, but the real tell is the loading time - that's where you're gonna see (or in this case, not see) the benefits. I guess drives aren't the bottle neck - who would have guessed (/s).

Also - I didn't think DirectStorage was supported on SATA interface, but it's here in the test result graph for both SSD and HDD. Hmm. Seems to actually make a bigger difference on SATA than anything.

I'm also totally expecting an nVidia graph to come along, with flames along the side, showing it can completely whoop AMD's *** with DirectStorage - probably showing that it actually reverses the space time continuum and reduces wrinkles and aging. And I haven't seen a good Arc post in a while, weren't those cards supposed to be out by the end of the month?
 
Seems to me the game load time and the world load time might be the bigger difference. If you're pulling 2862MB per second and loading the level in 2.1 seconds you're loading down 6010.2 mb of data... potentially.

Where as on the Direct Storage one you're pulling down lets see.. 4829mb/s at 1.9 seconds... 9175.1mb of data off of the storage API.

I think the tell is the ability to stream multiple files at the same time for enhanced access. And offloading that access to the storage away from the CPU needing to crunch the data.

On the same token there are other questions I have. Is the special graphics mode being used on the 6800 with AMD CPU. (I forget what it's called but basically direct memory access for the GPU to the system memory... or at least abbreviated.) And what speed SSD was used.. because really that speed hit at 4829 my SSD can do better. Mine benchmarks at 6799mb/s

1648184598492.png
 
That video is very informative but HOLY CRAP is it dry!

So there is a clear future state where the gpu will be able to offload the decompression of data to itself for processing with an updated direct storage API.

In thinking about this from a enterprise stand point I wonder if this would let our servers have better simultaneous streaming access to database data for queries without having to tie up a CPU thread? Meaning what if we could offload threads to a GPU processor for handling I/O Queries. No longer would you need to spend tends of thousands of dollars to feed I/O processing for a DB as long as you throw in a enterprise class GPU to handle processing of those queries with the hundreds or thousands of stream processors that you have available on a GPU...

I really doubt I'm alone in considering that right?

Ok not alone but you would need to define data sets that are eligible to be processed in GPU memory by heavily multi threaded processing. Which means in essence it could be great for inputting small data streams very quickly and offloading CPU thread bottlenecks. Ultimately meaning your licensing spend for the SQL DB might be less because you can save your threads for larger queries requiring working with larger datasets.

Quite interesting... really VERY interesting. I think a DBA (I'm not one) needs to dig into this. Time to fire off an email to the ole boss man.
 
Last edited:
They did post comparisons with and without DirectStorage. Not a big difference, but measurable. The bottleneck seems to be the decompression stage, at least in their specific workflow. Lots more in the Youtube video.


View attachment 1514
Wow, I've always wanted to save 200 milliseconds on loading. Thanks microsoft for doing something truly important.
 
Seems to me the game load time and the world load time might be the bigger difference. If you're pulling 2862MB per second and loading the level in 2.1 seconds you're loading down 6010.2 mb of data... potentially.

Where as on the Direct Storage one you're pulling down lets see.. 4829mb/s at 1.9 seconds... 9175.1mb of data off of the storage API.
You can't simplify it to that level. Most of a game's "loading" time especially on an SSD is not actually spent reading files from disk into memory.
 
After seeing the graph all I can think of is that they should use the correct terminology, there is no such thing as an M.2 SSD, I'm assuming they mean NVMe SSD.

I can almready see the angry gamers with an SATA M.2 SSD complaining their game does not load as fast as promised.
 
After seeing the graph all I can think of is that they should use the correct terminology, there is no such thing as an M.2 SSD, I'm assuming they mean NVMe SSD.

I can almready see the angry gamers with an SATA M.2 SSD complaining their game does not load as fast as promised.
Yea the slides were sparse on hardware data. Clearly programmers wrote this. ;)
 
(haven't watched yet)

Related article: https://www.eurogamer.net/digitalfoundry-2023-forspoken-pc-tech-review (Only skimmed the DirectStorage stuff)

"One of the few bright spots of Forspoken on its PC are related to its loading times, which are excellent - in some cases, faster than the already near-instantaneous PS5 version. This is because this is the first shipping title with DirectStorage 1.1, Microsoft’s toolbox for cutting down loading times on PCs equipped with (ideally) NVMe SSDs running Windows 10 or 11."

"When loading the exact same save from the same area, we can see a 3.5GB/s (PCIe 3.0) SSD loads the game faster than on PS5 (4.1s vs 4.4s); with DirectStorage disabled with a command line option, the same load takes around 25 percent longer (5.4s), making it slower than PS5. That’s with a fast 12900K processor though; the same drive used with an older, slower Ryzen 5 3600 still benefits from DirectStorage (6.7s enabled vs 11.7s disabled) but loads do take longer. So DirectStorage helps, but CPU speed is also a factor. Similarly, SATA drives also benefit from DirectStorage..."

"Finally, Windows 11 offers better loading performance than Windows 10, with game loads finishing two seconds faster on Windows 11 with DirectStorage on (6.8s vs 8.8s), and essentially the same speed with DirectStorage off (~11.8s)."

"Note that the DirectStorage 1.1 standard does include GPU decompression, but this doesn’t appear to be used in Forspoken at present, with no GPU compute usage spike when the game is doing a dedicated load. So despite not using what is arguably the most interesting part of the DirectStorage 1.1 API, the game’s loading speeds are significantly faster than they would be otherwise."
 
4.1s vs 5.4s. So much improvement. 1.3 seconds of my life I'll wonder what I ever did without now that I have it handed back to me.

:cool:

I guess that's cool?

I mean, going from a PS4 on a SATA2 HDD to PS5/PC on a PCI Gen 4 NVMe, yeah, your going to notice the load times going from literal minutes down to a handful of seconds. That kind of change is meaningful. Game-changing even, to use a tired expression in a poor pun-like manner. But this? This is just a hair over a rounding error in measurement, not a disruptive improvement in a bottleneck.
 
Become a Patron!
Back
Top