Friday, October 14th 2022

DirectStorage not used by any Games, Microsoft hopes DirectStorage 1.1 with GPU Asset Decompression can Fix This

Back in March 2022, Microsoft formally debuted the DirectStorage 1.0 API that enables direct interactions between a GPU and a storage device; thereby reducing the processing load of the storage stack on the CPU and main memory. This release, however, lacked a killer feature that's available to consoles—asset decompression. With the lukewarm response from game developers to DirectStorage 1.0 for PC, Microsoft has finally updated the API, introducing the feature with DirectStorage 1.1.

With this feature, your GPU can not only directly fetch game assets from the storage device (an SSD that uses either NVMe or AHCI protocols), but also pull them in their natively-stored compressed state. These assets are then decompressed by the GPU using compute shaders, and the decompressed assets remain in the video memory. This will directly impact game loading times, as asset decompression no longer involves the CPU. Its impact on the game's framerate will be minimal, as the API mainly accelerates game loading times, not gameplay itself. Game assets are organized pieces of data such as textures, 3D model files, music, sound effects—pretty much all of the individual pieces of content that make up a 3D scene.
File compression (and decompression) remains a compute-heavy workload that benefits from parallelism, and here the GPU and its faster memory help greatly. Once the relevant assets are committed to video-memory, the remaining data from the asset containers are purged from video memory to make room for the rest of the game's memory load. Microsoft in its tech demo example showed how a 3D scene's assets were loaded in 0.8 seconds with DirectStorage 1.1, compared to 2.36 seconds without it. This is just a synthetic example, you can imagine the impact on much larger AAA games that take dozens of seconds to load levels, even with NVMe SSDs. The hold-up here is not the storage device, but the CPU trying to decompress relevant assets.

Along with DirectStorage 1.1, Microsoft is introducing GDeflate, a file compression format for game assets, developed by NVIDIA, and is working with all PC GPU manufacturers, including AMD and Intel, to add support for this file format through graphics driver updates. The format is optimized for highly parallelized compression and decompression methods over a large number of threads, which make them better optimized for GPUs. This doesn't necessarily mean that all games have to use GDeflate in order to take advantage of GPU-accelerated asset decompression over DirectStorage 1.1, it's just an added optimization for game developers working on new projects. Patching already-released games to have GDeflate would involve redistributing the entire game asset load (which is still fine if the developer chooses to).

Microsoft plans to release DirectStorage 1.1 to game developers toward the end of 2022. The first games released or patched with DirectStorage 1.1 support should start coming out in 2023.
Source: Microsoft DirectX Blog
Add your own comment

60 Comments on DirectStorage not used by any Games, Microsoft hopes DirectStorage 1.1 with GPU Asset Decompression can Fix This

#26
80251
80-watt HamsterSo instead of loading directly to VRAM, you'd rather it make a detour to system RAM first?
I had thought CACHING video textures and mapping data to RAM will be MUCH, MUCH faster than any NVME PCIe M.2 SSD on the face of this planet and if someone has 64 GiB of RAM why not USE it?
Posted on Reply
#27
HisDivineOrder
Imagine releasing this two years after the consoles that first brought it arrived. And imagine the company that developed the technology already developed it for a console they released. And imagine them announcing it two years ago and taking their time doing so.

C'mon, Microsoft. If you already knew this was going to be a big part of the Xbox Series line, you should have had this ready for PC at the same time to help porting.
Posted on Reply
#28
sephiroth117
If Sony is going to port all those PS5 exclusives that exploit the gen 4 SSD, they will certainly need to use direct storage.

For instance Ratchet and Clank uses SSD fast loading. If it gets ported I'd bet it's going to use the API (but I don't think it's getting ported)
Posted on Reply
#29
ThrashZone
Hi,
Mostly a carrot on a stick to get people to update.

DX-11 comes to mind as well.
Posted on Reply
#30
human_error
TheoneandonlyMrKNot at all no, it's not even supported on a HDD or Windows 10 afaik.
It is supported on Windows 10 - Microsoft made that decision a while ago when it became clear a lot of people were not going to move to Windows 11, and without Windows 10 support game devs wouldn't bother as it would impact so few users.
Posted on Reply
#31
ThrashZone
TheoneandonlyMrKNot at all no, it's not even supported on a HDD or Windows 10 afaik.
Plus the game has to be developed to use it much like Rtx etc.
So not sure there's a Game out that uses it yet.
Hi,
This feature is reserved for m.2 os and game storage isn't it ?
Posted on Reply
#32
TheoneandonlyMrK
ThrashZoneHi,
This feature is reserved for m.2 os and game storage isn't it ?
Yes the OP mentioned m.2 nvme but ahci confused it up a bit I think.
@human_error oh ok I guess I was wrong, it's hard to tell though what with no games exposing it's behaviour and support level.
Posted on Reply
#33
ThrashZone
TheoneandonlyMrKYes the OP mentioned m.2 nvme but ahci confused it up a bit I think.
@human_error oh ok I guess I was wrong, it's hard to tell though what with no games exposing it's behaviour and support level.
Hi,
Yeah with m.2 prices high when this feature was revealed it's not surprising it went no where fast

Just now m.2's prices have fallen but imho not near enough to light any fire under anyone to utilize it for storage
Prices haven't compelled me to buy any for game storage that's for sure hell I don't even use the two I have for os I'm happy with sata ssd's :laugh:
Posted on Reply
#34
user556
I remember this existing in the 1990's on some specialised high-end simulator.
Posted on Reply
#35
TheoneandonlyMrK
ThrashZoneHi,
Yeah with m.2 prices high when this feature was revealed it's not surprising it went no where fast

Just now m.2's prices have fallen but imho not near enough to light any fire under anyone to utilize it for storage
Prices haven't compelled me to buy any for game storage that's for sure hell I don't even use the two I have for os I'm happy with sata ssd's :laugh:
I'm the opposite, my laptop, main rig and steamdeck all use nvme os drive's though my lappy has a 2Tb sata SSD too but I do agree adoption has not been great.

It's the killer app thing again, If a game was out that was ass on everything but an nvme, it would actually push the opinion we need nvme to game with.
Posted on Reply
#36
INSTG8R
Vanguard Beta Tester
Laughs in MSFS2020… literally the most inefficient game download I have ever encountered…
imagine having a Gbit Fibre connection and waiting hours for 97GB mandaTory content….
Posted on Reply
#37
ThrashZone
TheoneandonlyMrKI'm the opposite, my laptop, main rig and steamdeck all use nvme os drive's though my lappy has a 2Tb sata SSD too but I do agree adoption has not been great.

It's the killer app thing again, If a game was out that was ass on everything but an nvme, it would actually push the opinion we need nvme to game with.
Hi,
Think it was just a sells pitch for m.2 sells personally
I mean really how much can it get faster with both os and storage on a m.2 :roll:
Posted on Reply
#38
80-watt Hamster
80251I had thought CACHING video textures and mapping data to RAM will be MUCH, MUCH faster than any NVME PCIe M.2 SSD on the face of this planet and if someone has 64 GiB of RAM why not USE it?
The pros and cons of caching to system RAM and VRAM are a bit beyond my ken. One would imagine that it's possible to leverage both techniques simultaneously. I'd hope that would be the case; completely abandoning prefetch-to-RAM in favor of DirectStorage to VRAM does seem sub-optimal. But if DS can supplement RAM pre-fetch... Sounds like a win-win to me.
Posted on Reply
#39
TheoneandonlyMrK
ThrashZoneHi,
Think it was just a sells pitch for m.2 sells personally
I mean really how much can it get faster with both os and storage on a m.2 :roll:
I can't see it , GtaV a years old game does show performance scaling on load times without this but on faster drives, I've tried a 11GB/s load for example and was quicker than a 3/7 GB/s load so with work it could be useful.

Moreover Microsoft IMHO are just trying to leverage console IP to enhance the user experience beyond Apple and Google on PC.
Just ,unlike console they have no levers to pull on hardware users have except for they're tablet's which are not useful in gaming terms anyway.

And MS don't sell nvme drives, do they?.
Posted on Reply
#40
ThrashZone
TheoneandonlyMrKI can't see it , GtaV a years old game does show performance scaling on load times without this but on faster drives, I've tried a 11GB/s load for example and was quicker than a 3/7 GB/s load so with work it could be useful.

Moreover Microsoft IMHO are just trying to leverage console IP to enhance the user experience beyond Apple and Google on PC.
Just ,unlike console they have no levers to pull on hardware users have except for they're tablet's which are not useful in gaming terms anyway.

And MS don't sell nvme drives, do they?.
Hi,
No but they invest and insider trading is a thing see Musk :laugh:

Things don't move, make them move.
Posted on Reply
#41
THU31
80251I had thought CACHING video textures and mapping data to RAM will be MUCH, MUCH faster than any NVME PCIe M.2 SSD on the face of this planet and if someone has 64 GiB of RAM why not USE it?
DirectStorage has nothing to do with caching. People are explaining it to you, but you still do not understand.

What happens when you load into a game? The game needs to pull assets from the drive into the GPU's VRAM.
How does it do it on PC? It copies the data from the drive to the system RAM. The CPU has to decompress the data while it is in system RAM. The decompressed data can then be copied to the VRAM.

How will it work with DirectStorage? The game will copy data from the drive directly into the VRAM, decompressing it on the fly using the GPU.

Once all the assets are in the VRAM, they could be cached in system memory if the game no longer needs them. Then they could be quickly pulled back from system memory. But many modern games keep data in the VRAM, using it as cache.
But this is all about the first loading process. You bypass the CPU and the system RAM and place the data directly in the GPU's memory. This makes loading data drastically faster.

This also shows why PCs have had many problems with data streaming in games, which became very popular on Xbox 360, which introduced a unified memory system. While the CPU still had to decompress data, everything happened in a single memory pool, which drastically reduced latency.
In time PCs were able to brute force past this with sheer computing power and transfer speeds, but it all depends on how optimized a game is. Some games still have data streaming problems on PC even today, because of two separate memory pools.

And this is why some games on PS5 and Xbox Series consoles have unbelievably short loading times. When I played Horizon Forbidden West, I could not believe how instant everything was. And that is not even the best example.
And these consoles combine DirectStorage (PS5 has its own tech) and unified memory to get these incredible results.
Posted on Reply
#42
80251
THU31DirectStorage has nothing to do with caching. People are explaining it to you, but you still do not understand.

What happens when you load into a game? The game needs to pull assets from the drive into the GPU's VRAM.
How does it do it on PC? It copies the data from the drive to the system RAM. The CPU has to decompress the data while it is in system RAM. The decompressed data can then be copied to the VRAM.

How will it work with DirectStorage? The game will copy data from the drive directly into the VRAM, decompressing it on the fly using the GPU.

Once all the assets are in the VRAM, they could be cached in system memory if the game no longer needs them. Then they could be quickly pulled back from system memory. But many modern games keep data in the VRAM, using it as cache.
But this is all about the first loading process. You bypass the CPU and the system RAM and place the data directly in the GPU's memory. This makes loading data drastically faster.

This also shows why PCs have had many problems with data streaming in games, which became very popular on Xbox 360, which introduced a unified memory system. While the CPU still had to decompress data, everything happened in a single memory pool, which drastically reduced latency.
In time PCs were able to brute force past this with sheer computing power and transfer speeds, but it all depends on how optimized a game is. Some games still have data streaming problems on PC even today, because of two separate memory pools.

And this is why some games on PS5 and Xbox Series consoles have unbelievably short loading times. When I played Horizon Forbidden West, I could not believe how instant everything was. And that is not even the best example.
And these consoles combine DirectStorage (PS5 has its own tech) and unified memory to get these incredible results.
Directstorage doesn't get around the need for secondary storage for game assets. However, if I have primocache setup with a 32 GiB, persistent RAM cache guess what? Practically ALL those game assets are coming out of RAM instead of a relatively slow M.2 PCIe SSD. The difference between RAM and any M.2 SSD in terms of latency and bandwidth is several orders of magnitude.
Posted on Reply
#43
THU31
80251Directstorage doesn't get around the need for secondary storage for game assets. However, if I have primocache setup with a 32 GiB, persistent RAM cache guess what? Practically ALL those game assets are coming out of RAM instead of a relatively slow M.2 PCIe SSD. The difference between RAM and any M.2 SSD in terms of latency and bandwidth is several orders of magnitude.
How does this apply to playing a new game, where no assets have been cached?

If a console game using this tech can load in 2-3 seconds, how will your PrimoCache setup improve on this? It will load in 1 second? Great, definitely worth spending $30-50 on the program and hundreds of dollars on extra 32 GB of RAM.

You are probably representing less than 1% of consumers with your setup. And you know what? You can turn off DirectStorage if you do not want it. But for 99% of gamers, this can be a game changer. And it is free.
Posted on Reply
#44
Voluman
TheoneandonlyMrKNot at all no, it's not even supported on a HDD or Windows 10 afaik.
Plus the game has to be developed to use it much like Rtx etc.
So not sure there's a Game out that uses it yet.
Hm, it support HDD and win 10 too, if you got a Shader Model 6.0 capable gpu (almost any dx12 capable) but it won't be optimal. Because there is a fallback mode written in DirectCompute.
But if you want the full potential of it, you need some serius stuff: many cpu score, Sampler Feedback Tier_1_0 capable gpu, fast nvme drive, raw gpu computepower, native driverside support and Win11.
Forspoken will be the first game on pc which will support it, so far.
Posted on Reply
#45
80251
THU31How does this apply to playing a new game, where no assets have been cached?

If a console game using this tech can load in 2-3 seconds, how will your PrimoCache setup improve on this? It will load in 1 second? Great, definitely worth spending $30-50 on the program and hundreds of dollars on extra 32 GB of RAM.

You are probably representing less than 1% of consumers with your setup. And you know what? You can turn off DirectStorage if you do not want it. But for 99% of gamers, this can be a game changer. And it is free.
Once the assets are cached in RAM your directstorage will be clearly inferior in loading times. Furthermore, there's no such thing as a free lunch, you can't be decompressing cached, compressed assets without using GPU time, but with a 32-48 GiB RAM cache I don't NEED to store compressed assets.
Posted on Reply
#46
TheoneandonlyMrK
80251Once the assets are cached in RAM your directstorage will be clearly inferior in loading times. Furthermore, there's no such thing as a free lunch, you can't be decompressing cached, compressed assets without using GPU time, but with a 32-48 GiB RAM cache I don't NEED to store compressed assets.
You boss your game around I get you.
One point though it doesn't matter what you load an old game from it Will still be caching stuff across in a different section of memory because the game designer and Microsoft made it so.
Plus most like more than one game on a drive.
And your not fitting some games like GtaV in a cache drive.
So your way is SHIT for most and hardly automatic.

And I know I tried it btw.


And this isn't that, at all.
Posted on Reply
#47
80-watt Hamster
80251Once the assets are cached in RAM your directstorage will be clearly inferior in loading times. Furthermore, there's no such thing as a free lunch, you can't be decompressing cached, compressed assets without using GPU time, but with a 32-48 GiB RAM cache I don't NEED to store compressed assets.
Why are you so convinced it's an either/or choice? If DS can be implemented in addition to existing caching strategies to speed up loading times (please enlighten me to why this wouldn't be so), what's the downside?
Posted on Reply
#49
80251
TheoneandonlyMrKYou boss your game around I get you.
One point though it doesn't matter what you load an old game from it Will still be caching stuff across in a different section of memory because the game designer and Microsoft made it so.
Plus most like more than one game on a drive.
And your not fitting some games like GtaV in a cache drive.
So your way is SHIT for most and hardly automatic.

And I know I tried it btw.


And this isn't that, at all.
Um, why would an ENTIRE game have to be cached in RAM? When have you tried using primocache to implement a 32 GiB to 48 GiB RAM cache?

If you actually used primocache you would understand it IS AUTOMATIC.

I'll bet you don't even have a copy of primocache and have never used it.
Posted on Reply
#50
Mussels
Freshwater Moderator
ReadlightWill it help bug Windows 10 to get faster on hard drive?
Sorry, what?
WirkoIt's also worth noting that SSDs achieve very poor performance in small random reads which are not queued (4k QD1). The DirectStorage API can't automagically improve that but does it in any way facilitate programming for parallel/queued access?
Streaming textures is possible but this is meant more for initial loading.
Anything that works now, is going to be faster - it certainly wont get slower by cutting out the extra steps, worst case it should be equal.
80-watt HamsterSo instead of loading directly to VRAM, you'd rather it make a detour to system RAM first?
Ah yes, back to DX9 where they duplicated everything
Damned hard to find it documented in plainspeak but that's the main thing DX10 changed, was no longer requiring VRAM duplicated into system RAM. big deal when we hit the 4GB x86 limits.
Posted on Reply
Add your own comment
Dec 19th, 2024 20:50 EST change timezone

New Forum Posts

Popular Reviews

Controversial News Posts