| VanceIX said: Just loading an asset requires capturing it from the hard drive, which is another background process that is happening. In massive open world games, it is very hard to pinpoint exactly what the user will do, you can't just preload the next room and hope it's enough. Like I said, it may be a viable strategy in linear games, but with any games that give you a choice it is a poor use of resources, as calling in the 5gb of information still requires sorting through the hard drive to find it and load it to the ram for fast use later. |
You can store a bigger area in memory, it can read ahead in the direction you're going, leave the stuff behind you in memory so it doesn't have to reload when you look back etc. The mess you make in GTA doesn't have to disappear 2 city blocks behind you, or you can keep unique textures for roads so all tire marks stay. Sure that requires a bit more adressing than simply draw the same few textures, not a problem with 64bit adressing.
You can also load things more efficiently. It's faster to load fewer big chunks from hdd, instead of getting all the bits you need separately. It's far, far faster to pick and choose from memory than from hdd. The advantage of consoles is that they have a unified memory pool. The gpu can draw from anywhere, you don't have to sort through it and send some stuff to video ram first.
We already used to preload assets when I was working on GPS systems. Load a big area in memory, let the hdd sleep for a while, saves wear and tear. Load it during the time left over between other work until the memory is full. The bigger the memory cache is, the more you can even out performance. Just in time loading is a big factor in judder.







