Monday, November 7th 2022

Microsoft DirectStorage 1.1 with GPU-accelerated Game Asset Decompression Released

Microsoft formally released the DirectStorage 1.1 API to game developers on Monday, allowing them to take advantage of GPU-accelerated game asset decompression, to help minimize game loading times. DirectStorage establishes a path for GPUs to directly access storage devices on a system. With version 1.1, the API introduces a way by which the PC can use the GPU to decompress game assets. Microsoft is also promoting GDeflate, a new file compression format developed by NVIDIA, which is optimized for highly parallelized decompression techniques, making it suitable for GPUs. NVIDIA, Intel, and AMD, have each responded positively to this development, and rolled out early drivers with DirectStorage 1.1 support, which can be used by game developers or students. The three will add official DirectStorage 1.1 support to their regular driver update channels later.

DOWNLOAD: DirectStorage 1.1 early-support (not official) drivers for NVIDIA GeForce | AMD Radeon | Intel Arc
Source: Microsoft DirectX Blog
Add your own comment

39 Comments on Microsoft DirectStorage 1.1 with GPU-accelerated Game Asset Decompression Released

#26
Valantar
WirkoThere's one more neglected feature of DS: decompress from memory. You can have a cache of compressed assets in RAM/VRAM/both, I don't know exactly.
That's probably useful, especially in cases where storage isn't very fast or a relatively small amount of data (a couple of GB at most) are repeatedly streamed in.
Posted on Reply
#27
Punkenjoy
I am curious what is the load on the compute unit for decompressing assets.

I mean yes, loading/deloading assets while gaming sound nice, but what would be the performance impact of doing it.

Decompressing assets using the GPU during game loading is fine because while loading, the GPU sit idle. (Or run at 3000+ fps). But during gameplay? Probably small amount isn't that bad but decompressing GB of assets would probably affect performance a bit on lower end GPU and APU.

Still curious to see the impact.
Posted on Reply
#28
THU31
Decompressing assets using the GPU made me think of something else. Would it be possible to perform shader compilation using GPU compute? The GPU is all about parallel workloads and it seems like the perfect tool for the job. You could literally compile all the shaders at the same time instead of one by one using the CPU.

You can use GPU compute for so many things these days, so why not for that?
Posted on Reply
#29
Punkenjoy
THU31Decompressing assets using the GPU made me think of something else. Would it be possible to perform shader compilation using GPU compute? The GPU is all about parallel workloads and it seems like the perfect tool for the job. You could literally compile all the shaders at the same time instead of one by one using the CPU.

You can use GPU compute for so many things these days, so why not for that?
Compiling is full of branch and that would run like craps on a GPU. CPU are more used to this.

Fixing the shaders compilation would be relatively simple, just add a shader cache like it exist on Steam on Linux...
Posted on Reply
#30
Mussels
Freshwater Moderator
WirkoData will still have to go to system RAM first, albeit only in compressed form. Why can't that be omitted?
Pretty sure the entire point of directstorage and RTXIO is to not have that happen, straight from NVME to VRAM, with hardware decompression occurring inside the VRAM itself


This is one of those technologies that helps PC users somewhat but is entirely designed for consoles to reduce their hardware requirements - they already share RAM with VRAM at a hardware level, so this lets them make cheaper console hardware (MS does own Xbox, and Xbox got/gets this tech first)
Posted on Reply
#31
Chomiq
Bomby569a kind of direct storage is already used on both consoles (sony and nintendo) for a long time, even before they had ssd's
The what now? There was no such thing as direct storage on PS4, in fact most of the AAA games shipped with uncompressed textures, simply because Jaguar cores couldn't handle the decompression on the fly.
Posted on Reply
#32
Wirko
MusselsPretty sure the entire point of directstorage and RTXIO is to not have that happen, straight from NVME to VRAM, with hardware decompression occurring inside the VRAM itself

This is one of those technologies that helps PC users somewhat but is entirely designed for consoles to reduce their hardware requirements - they already share RAM with VRAM at a hardware level, so this lets them make cheaper console hardware (MS does own Xbox, and Xbox got/gets this tech first)
What bothers me is that the diagram in this news post, also found in DX developer blog, doesn't seem to confirm that. Maybe I'm missing some context, and it isn't the only possible data path. Maybe DS 1.0 solves that already, as is suggested here:
When a game is run, the assets are transferred to system memory, where the CPU decompresses the data before it is finally copied into GPU memory to be used as needed. The transfer and decompression of these assets on gaming devices contributes heavily to load times and limits how much detail can be included in open world scenes.

DirectStorage 1.0 improves the data transfer part of this process.
Posted on Reply
#33
The_Enigma
Will this work with nvme drives pooled together with StorageSpaces? I'm kinda doubting it
Posted on Reply
#34
chrcoluk
The benefit here is not really loading times, that doesnt bother me much, its more so games that stream in textures might actually stop stuttering, please be a fix for this problem that seems widespread on unreal based games.
Posted on Reply
#35
ThrashZone
chrcolukThe benefit here is not really loading times, that doesnt bother me much, its more so games that stream in textures might actually stop stuttering, please be a fix for this problem that seems widespread on unreal based games.
Hi,
Lots of things can cause stuttering
I always use a performance power plan pegging cores to max I choose in bios so they don't fluctuate
I also do the same for the gpu using msi afterburner using core clock curve and peg it so it doesn't fluctuate
So far stuttering no more.

In other words power saving bs off.
Posted on Reply
#36
chrcoluk
Well I am not running my PC at 300+w whenever I play a game so I will wait for developer fixes of which I hope directstorage fixes.

In my case I have diagnosed the stutters, and are texture swaps. With FF7 remake been the worst culprit.
Posted on Reply
#37
ThrashZone
chrcolukWell I am not running my PC at 300+w whenever I play a game so I will wait for developer fixes of which I hope directstorage fixes.

In my case I have diagnosed the stutters, and are texture swaps. With FF7 remake been the worst culprit.
Hi,
You don't really need to oc anything, not even at turbo clocks just stabilizing helps.
All games have recommended cpu frequencies listed and gpu's well they to work at any core curve frequency not even they need to be at turbo.
It's a good way to narrow stuttering issues down

If stuttering still exists it's system or ssd connection issue.
Clean install and try again.
Could also be shit driver.
Posted on Reply
#38
chrcoluk
ThrashZoneHi,
You don't really need to oc anything, not even at turbo clocks just stabilizing helps.
All games have recommended cpu frequencies listed and gpu's well they to work at any core curve frequency not even they need to be at turbo.
It's a good way to narrow stuttering issues down

If stuttering still exists it's system or ssd connection issue.
Clean install and try again.
Could also be shit driver.
I think I will stop my part here, dont want to go in a loop, its a confirmed limitation of the cpu based system.
Posted on Reply
#39
Mussels
Freshwater Moderator
Bomby569a kind of direct storage is already used on both consoles (sony and nintendo) for a long time, even before they had ssd's, and even when they didn't had that fast "gpu's", you could even say it worked on consoles when they had literal potatos, and they did it exactly because they were such potatos.

sure there are very old pc's out there but this will not work on old games anyway
Man i missed this, but no. Nothing like this remotely exists anywhere except the Xbox.

PS5 has something vaguely similar at a glance but not in reality - the PS5 has shared GPU and system memory, they use a hardware accelereated decomrpession (like this 1.1 update to DS, but without everything else) so they can move from NVME to system RAM, and the shared RAM then lets the GPU use it

The key difference is its still the CPU doing the tasks, not GPU->NVME
There are no drivers installed, no USB, SATA, memory card or any other legacy options involved which while the PS5 may not be using in this situation, it still does have those extra layers in between as thin as they may be tuned down to - it's a matter of latency, at this level which is why some games still take tens of seconds to load on my PC - bad optimisation waiting on other tasks to complete, instead of copying it all and doing it at once
PS5 can load it directly into memory without the need to extract it. And both CPU and GPU have access to it without the need of copying from CPU memory into GPU memory via PCIe bus and eventually having to keep it in sync.
PS5/comments/hghlea
ValantarHey, you could always get a PCIe 4 drive and run it at 3 speeds ;)
It's not like even a gen 2 slots really slow anything other than the simplest consecutive reads and writes

gaming wont be slowed since 4K random results are waaaaaaaaay slower than that
Posted on Reply
Add your own comment
Nov 23rd, 2024 03:49 EST change timezone

New Forum Posts

Popular Reviews

Controversial News Posts