When can we expect to see Microsoft DirectStorage in real games?

Discussion in 'Videocards - NVIDIA GeForce Drivers Section' started by BlindBison, Jan 13, 2022.

  1. janos666

    janos666 Ancient Guru

    Messages:
    1,653
    Likes Received:
    407
    GPU:
    MSI RTX3080 10Gb
    i think the video game "Rage" which came out in 2010 already relayed on fast storage. The "megatexturing" idea clearly showed a difference between HDD and SSD storage in terms of "texture popping". But I don't know if later "ID Tech" engines continued to use this technique or not (I always had a relatively fast SSD, so I wouldn't know - Rage is the last game where I read complaints from HDD users - most of the DOOM 2016 players probably had an SSD already).

    BTW, HAGS seems to make ~0 difference. It's already a default in Win11 (the toogle button present in Win10 disappeared.from Win11 and GPU-Z says it's enabled). I read an article which said it's only relevant for multi-GPU setups.

    I persoannaly don't belive that DirectStorage will bring any meaningful improvements other than level loading times (e.g. loading screens, not in-game transitions of map areas). Or they will cut the halt time from say 16ms to 8ms. But the small stutter will still be present (in games which are programmed in a way to halt rendering during these transitions and asset-loading). Although a significant reduction of halt times might be just enough to make them unnoticeable (at least with VRR).
     
    Last edited: Jan 25, 2022
    JonasBeckman likes this.
  2. Cave Waverider

    Cave Waverider Ancient Guru

    Messages:
    1,883
    Likes Received:
    667
    GPU:
    ASUS RTX 4090 TUF
    There is still a HAGS toggle in Windows 11. It's just buried deeper in the Graphics settings. It's enabled by default on modern cards in Windows 11, as HAGS has been improved in Windows 11 and shouldn't have the issues it had in some cases in Windows 10.

    It seems to work well on my RTX 3090 in Windows 11 for me (I had stuttering with it enabled in Windows 10), but it could depend on your configuration how well it works.
     
    Last edited: Jan 27, 2022
  3. Astyanax

    Astyanax Ancient Guru

    Messages:
    17,036
    Likes Received:
    7,378
    GPU:
    GTX 1080ti
    hags is not a setting that the graphics vendor can toggle.
     
  4. janos666

    janos666 Ancient Guru

    Messages:
    1,653
    Likes Received:
    407
    GPU:
    MSI RTX3080 10Gb
    I think the driver installer with admin rights could toggle this thing if it wanted to.
     

  5. Astyanax

    Astyanax Ancient Guru

    Messages:
    17,036
    Likes Received:
    7,378
    GPU:
    GTX 1080ti
    windows 11 is what is setting hags to on when a compatible device is present, its a MSFT decision.
     
    JonasBeckman likes this.
  6. JonasBeckman

    JonasBeckman Ancient Guru

    Messages:
    17,564
    Likes Received:
    2,961
    GPU:
    XFX 7900XTX M'310
    There were a bunch of interesting additions exposed in a earlier build of Windows 10 2019 or 2020 but I just can't find it at the moment, finer control over how it worked though likely still very much a work in progress from what Microsoft initially explained about the feature.
    I wonder if it will come back for a later Windows 11 build or if it's been put back on hold for other developments and focus on other areas of the OS for now.

    EDIT: So much to learn still and so much to try and keep track of what is currently ongoing and active or what is paused or being redesigned.

    A lot of promising new features and developments but it's still too early to tell how it will work.
    Going to be interesting for as to this particular topics discussion to see what the first few attempts at Direct Storage implementation will result in. :)

    GPU scheduling and I suppose the idea of better CPU and GPU synchronization and mitigating bottlenecking or a pipedream of improved threading and core scaling well that's just not happening or at least not as such.
     
    BlindBison likes this.
  7. BlindBison

    BlindBison Ancient Guru

    Messages:
    2,419
    Likes Received:
    1,146
    GPU:
    RTX 3070
    Darn, maybe these aspects are already pretty efficient?
     
    Last edited: Jan 27, 2022
  8. JonasBeckman

    JonasBeckman Ancient Guru

    Messages:
    17,564
    Likes Received:
    2,961
    GPU:
    XFX 7900XTX M'310
    I see it as a bit of a developer issue and user problem from changes with later versions of Windows or even developments on the Linux side that just hasn't set in yet.
    Flip model presentation instead of bitblt and usage of borderless over full-screen exclusive, thread priorities and managing audio and input for example or the reliance on Windows timing and Sleep(0) which Microsoft already cautioned against back in 2005

    https://devblogs.microsoft.com/directx/dxgi-flip-model/
    https://devblogs.microsoft.com/oldnewthing/20051004-09/

    Hopefully with Vulkan and DirectX 12 with some newer standards, improving the documentation and best practices and Windows 10 or later seeing wider adaption this will improve over time but it's taking a few years, unfortunately.
    For gaming and PC port development I would also think that the issue is down to insufficient testing and lower budget and time frame than ideal with games like God of War and the tech post for example making it clear that DirectX 12 usage was outside the scope of the project and that port was worked on for two years or so.

    Also going to be interesting to see what OS improvements to the scheduler itself can do and other core updates though there's also examples of the OS source code being likened to spaghetti for all the compatibility work and backwards software fixes preventing major code cleanup and overhauling.


    Looking forward to seeing what this can do, improving the workflow and making it easier to get closer to 100% out of the system hardware is a benefit to everyone but it's not going to be easy and I don't expect too much from the first few attempts at Windows PC Direct Storage utilization but seeing how the I/O situation and texture and asset streaming situation is even a bit of what it could eventually be could still be a good improvement. SSD's already help even if it's brute forcing some of the bottlenecks and shortcomings from a HDD.

    Just have to also see about file optimizations and compression techniques, not exactly looking forward to the future of 100+ GB sized games though it's not like it's that far off with video games already being upwards of 50 to 70 GB now size wise and then more after a few patches.


    EDIT: Easy enough to point at input latency, stuttering and GPU or CPU performance dips and bottlenecks and other framerate limiting issues though.

    Fixing them up however isn't easy but at least it's gotten a bit better though with some variance to the results from one port to another and that also goes for the consoles even with their unified hardware though give it a few years and the various current-gen only titles and exclusives are likely going to be quite impressive, like usual I suppose. :D
     
    BlindBison likes this.
  9. Chrysalis

    Chrysalis Master Guru

    Messages:
    373
    Likes Received:
    90
    GPU:
    RTX 3080 FE
    I see texture streaming as a scourge in games, I hate it, its a hack because GPU vendors keep underspeccing VRAM on cards. I would rather have loading screens with no stutters vs no loading screens with stutters.

    Not to mention how on earth can FF7 remake not even play a pre rendered FMV on a 9900k 3080RTX without judders?

    Arguably the problem is more lack of QA on PC ports than lack of direct storage.
     
  10. dr_rus

    dr_rus Ancient Guru

    Messages:
    3,930
    Likes Received:
    1,044
    GPU:
    RTX 4090
    So you would be okay with paying $10000 for a GPU with 256GB of VRAM then?

    What's even funnier is that games which somehow lock render thread when reading something from storage will still stutter on it because you still need to read some asset before it can be used.
     
    BlindBison likes this.

  11. Valken

    Valken Ancient Guru

    Messages:
    2,924
    Likes Received:
    901
    GPU:
    Forsa 1060 3GB Temp GPU
    So how does the XBOX and PS5 does direct streaming with less than adequate GPU VRAM? Just curious on the thinking around it.
     
  12. BlindBison

    BlindBison Ancient Guru

    Messages:
    2,419
    Likes Received:
    1,146
    GPU:
    RTX 3070
    I agree that I would rather have loading screens with no stutter than "real time" with stutter, but I'm not so sure having that much VRAM is viable cost wise.

    Some games on PC do a ton of asset streaming and seem to manage it for the most part without much in the way of hitching (GTA V and Red Dead 2 or Cyberpunk come to mind as high detail open world games that didn't really stutter for me), but it's so common an issue in games these days at least on PC that I agree with need some kind of solution that can be abstracted away from developers. Too few seem to care (or too few are able to do a decent job of it).

    Hitching/stutter is the single greatest evil in gaming for me and devs need to take it much more seriously on PC seems to me. I was hoping that something like Direct Storage could help alleviate a lot of this asset streaming stutter that plagues so many PC ports, but if it's not the silver bullet to do I don't know what will if anything.
     
  13. BlindBison

    BlindBison Ancient Guru

    Messages:
    2,419
    Likes Received:
    1,146
    GPU:
    RTX 3070
    I don't know all the detail, but from what I've read part of the issue is that consoles use Unified Memory so the CPU doesn't have to be responsible for copying data between the various memory pools (from RAM into VRAM and out). It's all just sitting there for both parts to access resulting in a lower CPU overhead (which is good since running up against storage speed limitations or being CPU bound is usually what causes stuttering from what I gather going off Digital Foundry's CPU reviews).

    If what's causing the stutter is the momentary spikes in CPU load where the CPU is moving data in and out of VRAM then that's maybe not as applicable on consoles due to their different memory architecture.

    Or I could be full of crap, I'm speculating based on pieces I'm aware of but usually it's been my experience that shoddy PC ports which exhibit this kind of asset streaming hitching don't hitch in their console versions (at least not for the same reasons/not during asset streaming) so I have to wonder if the unified memory has something to do with it.
     
  14. Chrysalis

    Chrysalis Master Guru

    Messages:
    373
    Likes Received:
    90
    GPU:
    RTX 3080 FE
    They have a lot more VRAM last I checked, just because 24gig VRAM cards exist in the PC space it doesnt mean PC ports are coded for it.

    However I also said the biggest issue is there is a lack of proper QA, any solution should in the end be possible.

    As a dev I would be ashamed to release a game that stutters.
     
  15. kman

    kman Master Guru

    Messages:
    497
    Likes Received:
    89
    GPU:
    3080 tuf OC edition
    You also need to remember console games have a 60 fps limit which greatly helps in reducing stress on the cpu.Miantaining higher fps and in turn maintaining better frametime is pretty much all on the cpu.(just like you said cpu spikes which are more likely to happen if you play with a high refresh rate monitor)

    Either we're gonna reach a point where cpu's are going to become so powerful we bruteforce the issue from happening or some other tech (maybe direct storage?) solves the issue for us.
     
    BlindBison likes this.

  16. BlindBison

    BlindBison Ancient Guru

    Messages:
    2,419
    Likes Received:
    1,146
    GPU:
    RTX 3070
    In some titles limiting the framerate helps alleviate the stutter, yes, but in others if there's asset streaming stutter it pretty much still occurs even with a very aggressive framerate limit. You're definitely right about the CPU being responsible/very important for this type of thing, but I somehow doubt we'll get to a point where CPUs can just brute force past the problem since when better hardware becomes the baseline devs tend to push harder on it.

    For example, what I found in the God of War PC port was that capping the framerate internally (or externally) resulted in harsher looking stutters when the game did hitch and asset streaming stutter was still quite common. Now, outside of the asset streaming hitching that game has it seems like a mostly solid port, but for example when sprinting towards the door that leads to the big overworld with the serpent (from the smith's chamber) the game basically stutters hard 100% of the time there for example.

    For context I have a 3900X + 2080 S + 32 GB of dual rank 3200 cl16 RAM + NVMe drive with G-Sync @1440p so my rig isn't "bleeding edge", but it's pretty good.

    A common trend I've noticed is that "specifically" a 30 fps cap will often alleviate the stutter and it makes me wonder if however they did their asset streaming was hard coded around the 33.3 ms value since that was the target framerate on console. For example capping to 30 and only 30 fixed the asset streaming stutter present for me in Outer Worlds and it was the only value that resolved the stutter for me in GoW. Not sure how exactly the games are coded, but my bet is that instead of streaming continuously in small chunks they have the player hit these "trigger points" where a massive amount of streaming is done at once -- not really a good way of doing it in my mind, but seems that's how they work. Then in testing for console as long as they get that frame within the 33.3 ms window they say "good enough". I'm speculating here, but it does seem like some games only seem to "play nice" at least on my rig by capping to 30 even though 98% of the time they'd run at 100 fps outside of those asset streaming stutters.

    Personally I would rather have loading screens and no stutter than stutter with no loading screens. Sort of related, it's bizarre how many PC ports tie their loading speed to framerate -- for example I noticed DOOM 2016 appears to do this and I believe the recent GoW does too (if you cap the games to a very low value the loading takes ages VS uncapped or capped to a high value).
     
    Last edited: Feb 8, 2022
    Mineria likes this.
  17. NEP6XSBW

    NEP6XSBW Member Guru

    Messages:
    142
    Likes Received:
    64
    GPU:
    RTX 4090
  18. NEP6XSBW

    NEP6XSBW Member Guru

    Messages:
    142
    Likes Received:
    64
    GPU:
    RTX 4090
    'Forspoken' has just been delayed until October, by the way.
     
  19. Mineria

    Mineria Ancient Guru

    Messages:
    5,540
    Likes Received:
    701
    GPU:
    Asus RTX 3080 Ti
    Not only fps but also overall lower settings compared to the Ultra settings which quite a few games can be set to on a PC.
    Need to keep in mind that PC's still got bigger/faster CPU's and GPU's so graphics can be pushed further than they can on consoles.
     
  20. kx11

    kx11 Ancient Guru

    Messages:
    4,839
    Likes Received:
    2,645
    GPU:
    RTX 4090
    PS5 is the reason i bet
     

Share This Page