NVIDIA RTX IO

Discussion in 'Videocards - NVIDIA GeForce Drivers Section' started by Reddoguk, May 15, 2021.

  1. Reddoguk

    Reddoguk Ancient Guru

    Messages:
    2,659
    Likes Received:
    592
    GPU:
    RTX3090 GB GamingOC
    I have searched Guru3d for any information on this tech and was just wondering if anyone knows when it will be available to install. Also DirectStorage by MS.

    I'm really interested in this tech. It sounds amazing.

    Just incase someone hasn't seen this yet.



    Sorry if theres other posts on this but i searched and found nothing on it here @ Guru3d.

    I have 5 games installed on my MP400 4tb so far and all of them are 100GBs each. Half a terabyte from just 5 games. :(
     
    Lily GFX and BlindBison like this.
  2. endbase

    endbase Maha Guru

    Messages:
    1,246
    Likes Received:
    327
    GPU:
    Asus RTX4070 OC
    Sadly enough you need proberly the latest hardware just saying
     
  3. Astyanax

    Astyanax Ancient Guru

    Messages:
    16,998
    Likes Received:
    7,340
    GPU:
    GTX 1080ti
    it will not be a seperate component, its just nvidia's name for a driver component reliant on the microsoft directstorage feature.
     
  4. janos666

    janos666 Ancient Guru

    Messages:
    1,645
    Likes Received:
    405
    GPU:
    MSI RTX3080 10Gb
    I guess this probably needs explicit support in the game engine. This not something you will enable/force for existing games (per game or even system-wide). But some future games might utilize it (if they wish to do so - many OS/API/driver/engine features ramain unutilized for years or forever).
     

  5. dr_rus

    dr_rus Ancient Guru

    Messages:
    3,876
    Likes Received:
    1,014
    GPU:
    RTX 4090
    RTX I/O is DirectStorage implementation in Nv's drivers, similarly to what RTX is to DXR.
    It will be available with Win10 21H2 hopefully.
    You will need NVMe SSD and a 20 or 30 series GPU to use it.
    And a game must be coded for DS API to take advantage of it of course.
     
    fluidz, Lily GFX, BlindBison and 2 others like this.
  6. Erick

    Erick Member Guru

    Messages:
    127
    Likes Received:
    21
    GPU:
    RTX 3080 Ti 12 GB
    It's a change in the driver and WDDM. When it's available, all PC games will need to be patched, because most devs bottlenecked loading times to accomodate the HDD or SSD over AHCI/RAID speeds of about 3 GB/s. Throw in 8 to 10 GB/s and some games might not play correctly.
     
  7. dr_rus

    dr_rus Ancient Guru

    Messages:
    3,876
    Likes Received:
    1,014
    GPU:
    RTX 4090
    No. Old games use old APIs which won't go anywhere.
     
  8. janos666

    janos666 Ancient Guru

    Messages:
    1,645
    Likes Received:
    405
    GPU:
    MSI RTX3080 10Gb
    He surely meant "PC games will need to be patched" ... 'in case they wish to utilize this feature'.
    IMO few -if any- old games will be patched for this. It looks like the main goal is to use hardware-accelerated de-compression of textures which requires the use of a specific compression standard (so the games need to ship with textures packed in this format, hence patches would be huge, all textures would need to be downloaded again).
     
  9. dr_rus

    dr_rus Ancient Guru

    Messages:
    3,876
    Likes Received:
    1,014
    GPU:
    RTX 4090
    Texture compression standards don't change, it will be the same BCn as used for ages. Compression of BCn assets though is what's new and will either be zlib (old), BCPack and/or Kraken - this part should be handled by "RTX I/O" side which is a GPU compute decompressor which theoretically should be able to decompress anything but with varying levels of efficiency.

    There are many games which use zlib to compress assets on storage already but it's hard to say if you'll get any speedup from using GPU to decompress that.
    There are some games which use Kraken already. It's also possible that newer MS games ("XS enhanced") are using BCPack.
    But generally yeah you'd need to update the game's data storage format to the one which the GPU h/w hidden behind DirectStorage will be able to decompress. And while GPU h/w itself is likely versatile enough to decompress any format the DS API will likely limit the options here to the three mentioned above.
     
  10. Reddoguk

    Reddoguk Ancient Guru

    Messages:
    2,659
    Likes Received:
    592
    GPU:
    RTX3090 GB GamingOC
    BTW most older games don't really need this tech because they are much smaller anyway. Maybe not all older games like GTA5 for example because that's a 100GB's+ old game now.

    I have a 4tb M.2 and a 4tb external ssd. Is it possible to install some games to the external drive? From like steam i mean. Can Steam games be split between 2 drives and still work normally?

    I have never tried that before but i'd like to only install my most played and favorite games on the M.2 and use the other drive for all the rest. I know you can change download location in steam but they will still install to the C:/ drive where steam games are kept.

    Will google it myself but thought i'd post this anyway.
     

  11. janos666

    janos666 Ancient Guru

    Messages:
    1,645
    Likes Received:
    405
    GPU:
    MSI RTX3080 10Gb
    This DS/IO feature probably won't work with external USB drives (or even internal SATA driver) but NVMe only.
    You should look into Steam's documentation but in absence of support for external locations, you can always try soft- or hard-links (the latter is complicated on Windows but it has a higher chance of working -> ask google for help with NTFS hardlinks). You let Steam installing the game to it's folder, then you move the game's folder but leave a hard-link at it's place pointing to the new direction.
    You must be playing with a lot of games. I am fine with 0.5Tb. :) I delete everything once I am finished with them and I don't play more than 1-3 games at a time. But I back them up to my NAS and restore them when I feel like benchmarking a new driver or hardware, or a DLC came out, etc (even though I have a spare 0.5Tb NVMe driver around).
     
  12. Reddoguk

    Reddoguk Ancient Guru

    Messages:
    2,659
    Likes Received:
    592
    GPU:
    RTX3090 GB GamingOC
    My 4tb M.2 NVMe drive could hold a lot of games but for some reason i've got it in my head to only use about 2tb or half of the drives storage. I maybe wrong but i'm only doing that because i read some stuff about drive life time and over filling it could reduce speeds and reduce the life of the drive.

    While you may only have 3-4 games installed at once i prefer to have about 20 games of my favorite picks from new AAA's to some older titles that i like to go back to. Also isn't installing games and then deleting them constantly bad for ssd drives?

    Plus i don't have the best internet connection in the world, i mean i get 10ms in games but my D/L speed is only 80/20 so constantly having to download games for hours is no fun. Maybe if i had fibre i would do things differently but i'm stuck on copper line for now so that's one of the reasons why i can't just install/delete games all the time.

    Thanks anyway for replying, now i'm thinking to get a second M.2 and just raid them. So then i'll have 8tb internally. I know i'll have to do a fresh install and get the £500 drive before PS5 allows extra storage to be used in the spare ssd slot. Which is meant to be this summer btw. Even Sony warns there will be very bad things happening once they do this firmware update/release. Like M.2 NVMe drives will be out of stock and scalpers will be licking their lips. You watch what happens when Sony releases that firmware. M.2 SSDs will be a nightmare to get.
     
  13. Cave Waverider

    Cave Waverider Ancient Guru

    Messages:
    1,876
    Likes Received:
    662
    GPU:
    ASUS RTX 4090 TUF
    Not a problem. Go to Steam Settings add a new Steam Library location (or more) on a different drive and you'll be able to pick which location to install the game on. Also, if you go to the Properties of an installed game, you'll have the option to move the game files to a different location.

    You can't have one game's files split between different drives, of course (unless you do RAID or such).
     
    Last edited: May 30, 2021
  14. janos666

    janos666 Ancient Guru

    Messages:
    1,645
    Likes Received:
    405
    GPU:
    MSI RTX3080 10Gb
    Most SSDs have some hidden spare area internally (so performance won't collapse due to garbage collection) but yeah, it's better to leave some ~20 % free for better WRITE performance (read perf. won't suffer from high allocation). But ~50% is overkill.
    Also, these drivers can easily serve you for 5+years even if you punish them. I still have some old SATA2 Intel SSDs around with ~95% heath and my last PCI-e Samsung is at 97% after 3-4 years of liberal use (zero f#cks given about how much I write and how much free space I keep). And that's only the rated lifetime expectation for warranty purposes, the drivers will usually continue to work fine for quite some time after they reach their rater TBW.
    Internet speed -> that's why I do local backups to my NAS (5 HDD in RAID-5 and 10Gbps optical local network).
     
  15. Reddoguk

    Reddoguk Ancient Guru

    Messages:
    2,659
    Likes Received:
    592
    GPU:
    RTX3090 GB GamingOC
    Ok thank you for that. So filling to 80% won't effect the drives performance. Cool that's good to know so if i use say 3tb that leaves me at 75% which is where i'll stop.

    I've done what Cave Waverider said to do and now i can split my games between the two drives. That's only with Steam of course and i'll have to see if other game launchers can also do this trick but thanks guys your input is much appreciated.
     

  16. Cave Waverider

    Cave Waverider Ancient Guru

    Messages:
    1,876
    Likes Received:
    662
    GPU:
    ASUS RTX 4090 TUF
    Origin will let you pick the install location and also give an option to move the game to a different location/drive. With UWP/Game Pass games you can also choose the install location and move them via Windows 10's Apps & Features. I'm not sure about other game launchers, but you can always move the installation folder manually and create a symbolic link with the mklink /d "<OldPath>" "<NewPath>" command in the Command Prompt (note that you may have to recreate these links after a fresh install/repair install/upgrade of Windows).
     
  17. BlindBison

    BlindBison Ancient Guru

    Messages:
    2,404
    Likes Received:
    1,128
    GPU:
    RTX 3070
    Personally I can't wait for DirectStorage to release and start getting used in games. I'm gonna be fairly agitated if Nvidia doesn't enable it for anything but the 3000 series GPUs unless there's some very good reason why "only" that hardware is capable of the paradigm change (which I'd doubt, but what do I know).

    In general a lot of games seem to struggle with asset streaming and it's just one more thing the CPU sort of has to be responsible for where really you want to GPU bound for a "smooth" experience going off some of Digital Foundry's videos where they commented as much (being CPU bound when you're crashing into asset streaming limitations or any part of the game simulation can result in CPU bound microstuttering for example). I expect this may only get worse now that new consoles have similar tech to DirectStorage/PS5 has its custom decompression engine and all that jazz so game's may start being made that require something akin to direct storage.

    It's something we've needed for quite awhile seems to me. Hope we get it soon and hopefully it works as well I hope it does.
     
  18. Lily GFX

    Lily GFX Member Guru

    Messages:
    129
    Likes Received:
    107
    GPU:
    AORUS 3090 Xtreme
    @BlindBison
    Like @dr_rus said should be on both RTX 2xxx and 3xxx. :)
    https://www.nvidia.com/en-us/geforce/news/rtx-io-gpu-accelerated-storage-technology/
    By Andrew Burnes on September 01, 2020

    Microsoft targeting a developer preview of DirectStorage this year.
     
    Xtreme512 and BlindBison like this.
  19. janos666

    janos666 Ancient Guru

    Messages:
    1,645
    Likes Received:
    405
    GPU:
    MSI RTX3080 10Gb
    I am not so sure about that. I think the commonly accepted way of achieving both consistently low system latency and consistent frametimes (e.g. neither micro-, nor macro stutter) at the same time is by staying artificially CPU bound via a CPU-side FPS limter (effectively starving the GPU by putting some breaks on the CPU). I think the common conception is that as soon as you reach full GPU saturation, you start filling various queues (pre-render/command queue, optionally V-Sync buffers, etc, whatever) which is bad for latency (and frametime consitency).
    Although I am not sure if that conception still holds once you reach ~99.9% CPU saturation. It could very well be that you also need to keep the CPU comfortably below ~100% utilization as well. (Otherwise various kernel, driver and game engine threads could fight for the same CPU threads/times which might cause inconsistent [increased] latency and thus micro stutters. I am not sure.)
    Also, most moderns systems usually run at ~99.9% GPU TDP ("board power") limit. Meaning, the GPU is usually limited in turbo clock speeds by it's allowed power consumption limit. Offloading more and more work to the GPU will only make that worse (result in lower CUDA core clocks even when other dedicated hardware components are drawing power - but I think CUDA cores will handle this decompression on current generation GPUs). They are offloading CPU cores to power-starving GPUs when we can buy CPUs with a bunch of cores/thread (and probably more to come next year). Of course game consoles have limited amount of CPU power (first-gen Ryzen with 8 cores if I recall) but you can go nuts on a PC (16+ Zen>1 cores if you will). So I don't see this as such a clear picture.

    Although I personally have a fairly slow CPU again (i5-8600K + RTX3080) and I subjectively think it feels a bit strange. I had a similar build some years ago (i5-2500K + GTX1070) and I felt relived after a CPU upgrade (2500K -> 8600K). So I probably need a 8-core CPU with higher IPC.
     
    Last edited: Jun 8, 2021
    BlindBison likes this.
  20. BlindBison

    BlindBison Ancient Guru

    Messages:
    2,404
    Likes Received:
    1,128
    GPU:
    RTX 3070
    Low Latency, yes, but that doesn't necessarily equate to a "smooth" looking experience -- you can achieve both stability/smoothness and reasonable latency with a framerate cap as you say since this keeps you CPU bound/seems to prevent CPU from prerendering which would add additional latency in a GPU bound scenario, but assuming uncapped framerates, CPU bound microstutter doesn't look great and can be fairly common in some games if you're playing with a powerful GPU and a not so great CPU at lower-ish resolutions.

    Digital Foundry talked about this in both their 3900X and 2080 S reviews for citation as well as in several of their group video chats (Richard Leadbetter talks has talked about it on occasion several times) -- in their tests they were getting some CPU bound microstuttering in several modern games at 1440p with fairly speedy RAM + 3900X + 2080 S (though not at 4K). Slow RAM would probably exacerbate this problem further.

    My understanding is that the latency when GPU bound primarily comes from the CPU prerender queue (which is what modes like Nvidia Reflex aim to "solve") though the prerender queue can improve overall performance/GPU utilization since it helps buffer against any inconsistencies on the CPU side were it to fall behind. If the CPU is "late" then the GPU stalls and you get a hitch even with something like G-Sync. If you're often CPU bound then CPU prerendering is a good thing we probably want to do. BattleNonSense has tested Overwatch for example with Reduce Buffering ON vs OFF and when he was CPU bound disabling CPU prerendering actually very slightly increased latency. Or, if you run into asset streaming or simulation bottlenecks on the CPU side this can manifest as stutter. Richard Leadbetter from DF has commented as I said that smooth uncapped framerates are the preserve of being GPU bound since frames will mostly take close to the same amount of time to render as the last/you're not crashing into some part of the simulation on the CPU side or asset streaming stalls. In Digital Foundry's tests, so long as they were GPU bound uncapped framerates always appeared smooth without hitching.

    For example, if you're playing a game at very high uncapped framerates and getting CPU bound microstuttering you can typically resolve this by either A) capping framerate to a consistently achievable value or B) using something like Nvidia DSR to increase GPU load/rendering resolution and ensure you are GPU limited. Either approach works for me for example in something like Dying Light or Hunt Showdown which I'm capable of running uncapped at 120+ fps on my 3900X + 2080S + 32 GBs of 2933 MHz RAM, but in something like HWiNFO I can see my GPU isn't the limiting factor, but as soon as it does become the limiting factor (via DSR for example) or as soon as you cap fps to ensure the CPU can always keep up any hitching is fully resolved. Meanwhile in something like Metro Exodus Enhanced where I was basically GPU bound 100% of the time, uncapped FPS always looked very smooth.

    As for "filling buffers" for V-Sync and/or CPU prerendering, CaptaPraelium has a great write-up on CPU prerendering/why it's done by default which is helpful over on the BFV subreddit (future frame rendering writeup): https://www.reddit.com/r/BattlefieldV/comments/9vte98/future_frame_rendering_an_explanation/

    Assuming his technical breakdown there is correct, it should actually aid in smooth frametime delivery, not the opposite. For V-Sync buffers, if you look into the Low lag solutions via precise FPS limiting what's really going on is you're filling the back buffer "just in time" for refresh so it doesn't sit there getting old/stale which adds latency. However, if you cap FPS too low then filling the back buffer comes too late/it's "missed" so you get a stutter as the last frame is repeated. The ideal with traditional V-Sync then would be capping FPS with an accurate/good FPS limiter (which itself needs to have reasonable latency as different FPS limiters differ in accuracy and latency) where you're capping "Just in Time" to fill the buffer, but not so low that you get buffer misses and repeated/duplicate frames.
     
    Last edited: Jun 9, 2021

Share This Page