poshflamingos
Posts: 340 +671
JFCNow you're being intentionally obtuse. The CPU uses the PCIe bus to send data to the GPU, to perform network and disk I/o, etc ... and when the GPU is loading that bus via DMA calls, there is less bandwidth available for everyything else.
No, again, that's not how any of this works. None of those buses are shared. The GPU has its own, exclusive 16 PCIe lanes connecting to the CPU. The SSD has an additional 4 PCIe lanes connecting to the CPU, separate from the GPU's 16 lanes. And then the RAM has yet another separate bus, completely independent from PCIe altogether.
A GPU could be using 100% of its 16 PCIe lanes, and that still doesn't take away anything from the SSD and RAM buses, because none of those buses are shared.
Yes, all game assets in modern games are loaded through random operations. If you pack assets sequentially, you lose the ability to stream individual assets on demand. That could work on games that are split into separate levels that are loaded one by one, but most modern games are no longer made that way.I have no clue why you believe all game assets must be read from disc using random reads
"10%" of what?You don't need to "saturate" a bus to slow it down -- if you're using 10% for I/o, then only 90% remains for everything else.
If you mean RAM (where SSD assets are loaded into), even 10% is extremely generous. The 0.1 GB/s to 1 GB/s you get from random reads means between 0.2% and 2% of typical DDR4, and 0.1% to 1% of typical DDR5. Absolutely insignificant.
LMAOStill worse: you're forgetting that a GPU uses the bus *also* for direct memory access -- and this often does saturate it.
SSD to VRAM (which, to be clear, does not actually happen, because there's no API for it yet; DirectStorage is not that, and RTX IO is not used by anyone yet; and no dev is manually programming DMA calls on the metal for their games) would be even more insignificant than to RAM. Random reads from a SSD mean 0.03% to 0.3% of the bandwidth of a RTX 3060, and 0.01% to 0.1% of the bandwidth of a RTX 5080.
We aren't. The vast majority of people are still on PCIe 3.0 or 4.0, even the most recent boards only have a partial implementation of PCIe 5.0 (most just for the M.2 slots), and there are zero plans to move to PCIe 6.0 or 7.0 on consumer hardware. Those newer revisions were made for datacenters, and consumer hardware does not benefit from it at all.Why on earth do you think we've consistently moved to higher bandwidth PCIe standards, if we weren't reaching limits on the existing ones?
That's not what I was talking about, genius. What you're talking about is just the engine choosing which version of the asset to default to relative to the screen. That's completely unrelated to the issue I was talking about. Choosing whether to use LOD 0, LOD 1, LOD 2, etc, depending on resolution does not produce additional draw calls.Learn how game engines work. As I said earlier, every major engine performs resolution-based LOD reduction. The fact you believe you can "test this easily" by loading up and game and looking at frame rates belies an utter lack of understanding. Why not at least attempt to learn about a subject before arguing it?
"...Unreal Engine manages Level of Detail (LOD) based on screen resolution using a "Screen Size" metric, which calculates the screen-space diameter of an object's bounding sphere."
I was talking about when games change environmental LODs and draw distances based on resolution, not the LOD of individual assets. For example, what Digital Foundry discovered on Forza Horizon 5. Changing resolution in FH5 changes the actual draw distance of objects and textures on the screen. You can see objects popping in and out and textures becoming degraded in the distance as you change the game's resolution. That's the issue I was referring to, and that issue does produce additional draw calls (because it's loading in more distant objects, not just higher LODs of the same object as your video is refering to).
And no, I don't mean you can easily test it by "looking at framerates". You can easily test it by using your eyeballs and seeing how on the vast majority of games, increasing the resolution alone does not make extra objects appear at a distance. But on Forza Horizon 5, one of the few games with this issue, increasing resolution alone does make extra objects appear at a distance. That is what increases CPU load, and it's not good practice. Good practice is for resolution and draw distances to be controlled separately.