Monday, March 14th 2022
Microsoft DirectStorage API Available, but Without GPU-accelerated Decompression
Microsoft officially launched the DirectStorage API on the Windows PC platform, on Monday. The API enables direct data interactions between the GPU, graphics memory, and a storage device, so games have a more direct path to stream game assets to the graphics hardware. The API is compatible both with Windows 10 and Windows 11, although Microsoft is recommending the latter, for "in-built storage optimizations." Also, unlike previously reported, you don't necessarily need an NVMe-based storage device, such as an M.2 SSD with PCIe/NVMe interface. Even a SATA SSD with AHCI protocol will do. Microsoft is, however, recommending the use of an NVMe SSD for the best performance.
There is, however, a wrinkle. Microsoft isn't launching a killer feature of the DirectStorage API yet, which is GPU-accelerated asset decompression. This feature allowed GPUs to use compute shaders to decompress game assets that are stored in compressed asset libraries on the disk. Most games store their local assets this way, to conserve their disk footprint. Without this feature, unless there's special game code from the developer's end to utilize GPGPU for asset decompression; compressed game assets still have to rope in the CPU, and lengthen the pipeline. Microsoft stated that enabling GPU-accelerated decompression is "next on their roadmap."
There is, however, a wrinkle. Microsoft isn't launching a killer feature of the DirectStorage API yet, which is GPU-accelerated asset decompression. This feature allowed GPUs to use compute shaders to decompress game assets that are stored in compressed asset libraries on the disk. Most games store their local assets this way, to conserve their disk footprint. Without this feature, unless there's special game code from the developer's end to utilize GPGPU for asset decompression; compressed game assets still have to rope in the CPU, and lengthen the pipeline. Microsoft stated that enabling GPU-accelerated decompression is "next on their roadmap."
78 Comments on Microsoft DirectStorage API Available, but Without GPU-accelerated Decompression
On the pother hand, it also makes me wonder if this will change how developers will use this with the existing environment. Will new games with this function use less resources or not.
This API could also mean no CPU bottle necks, but that doesnt mean developers wont still use the CPU.
What are the benefits in the current state? faster loading than no directstorage at all? lowered VRAM requirements? it's been a while.
On related news NVME are now pretty cheap, they can match SATA SSD on GB/dollar, so yeah no point buying new SATA SSD now :D
If Nvidia doesn't allow the GTX 1600 series, I'm rioting.
I guess now we wait some more. :(
Mesh shaders, variable rate shaders, every other aspect of D3D12U is included, so denying support would be a dick move.
As for effects of this: in the short term, it should reduce VRAM usage. Why? Because a lot of, if not most VRAM "usage" in games today is pre-caching of data that might be useful in a few seconds. If you're going down a hallway with a left, centre and right door at the end, the game pre-caches assets for going through all three rooms, and then ejects whatever was behind the two doors you didn't enter after you've made your choice. The shortening of the streaming pipeline should allow for much faster, more responsive, more on-the-fly streaming of assets, reducing the need for aggressive pre-caching, thus reducing VRAM usage. In the long term it should then allow for higher quality assets in the same memory footprint, or reduced pop-in as assets can be more efficiently fetched "just-in-time" - assuming the rest of the system is able to keep up. But overall, this is a much more efficient and smart way of handling the feeding of assets to the GPU, and is a big step forward in making the inner workings of PC gaming a tad less dumb. Yeah, I have the same impression. I guess the game could preemptively use the CPU to decode assets, cache them on the SSD, and then stream them in directly? That seems inefficient and wasteful though. IMO, without GPU decompression this has near zero utility. That ... seems overly optimistic. Even if code from console games can be ported over directly (which it can't, given the lack of GPU decompression), it'll take time to test, validate, and ensure fallbacks to non-DS setups work properly across various hardware and software combinations.
Microsoft makes Windows
AMD and Microsoft makes the display driver for the XBox
I can understand if nGreedia has an issue, and is finding it difficult, but not the other two. Maybe this is the holdup... It's the only thing that makes any kind of sense to me.
In case of W10/W11 for PC use you're not dealing with closed off console with two sets of hardware configurations.
Also, MS is just being MS.
Totally agree with you saying MS is just being MS! This and the nGreedia arguments are the only ones I can see as a reason for the holdup.
if not, i won't hold my breath.