9 ms·
> On console the ram is shared, and moving data to / from ram can be accomplished via onboard streaming hardware. PC lacks this, so they try to load everything
by kllrnohj 3y ago
> On console the ram is shared, and moving data to / from ram can be accomplished via onboard streaming hardware. PC lacks this, so they try to load everything in one shot to avoid studders. That's why you see so many games these days that need 12-16gb of vram.
Uh, no? The majority of VRAM data is texture data, and there's absolutely no point or benefit to sharing that with the CPU. So unified vs. not is irrelevant and plays no role.
Also consoles have been (and still absolutely do) stream texture data in regardless. Hell texture pop-in was easily the biggest graphics issue of the outgoing generation of consoles. But even on the current generation 16GB of shared memory is absolutely not enough to contain all the texture & geometry for a modern open world game. It still absolutely streams data, which is why Sony invested so much into texture streaming tech with the PS5 still.
- vinyl7 3y agoThe point of shared memory is that you can skip a whole memcpy. You load from drive into shared RAM and use it immediately. Preferably it's stored on disk in the same format that the GPU can use so you don't have to parse. Compare that to a PC with a discrete GPU, you have to load the texture/mesh into RAM and (possibly memcpy to a mapped buffer that the GPU can see) and then issue a copy to move it over PCIe to dedicate GPU vram.
- kllrnohj 3y agoThat only marginally improves asset streaming performance. Both CPU RAM and a pcie x16 slot have much more bandwidth than any nvme drive will (which is only x4 pcie, after all, even ignoring the limitations of the NAND flash & controller itself) so that extra memcopy isn't significant. And has absolutely no impact whatsoever on general VRAM usage as was claimed anyway. Also you don't have to load it to system RAM first. DirectStorage exists (kinda)