Current Generation Games Analysis Technical Discussion [2022] [XBSX|S, PS5, PC]

I've actually always wondered about game loading and just what exactly it's doing at specific times vs others. For example, on PC you can use RTSS and view the frametimes of course, and most games will show the frametimes go erratic and stall, and then continue through at fast framerates, then settle down.

During these loading screens, there will often be an animated logo spinning or some other kind of visual flourish, or a loading bar to show progression. And these animations almost always stutter, or hitch, as the frametimes do.. of course. If the main/render thread/s are stalled waiting for some process to complete, obviously. But what processes actually makes it stall? Shader compilation? CPU asset decompression? Moving decompressed texture/geometry data to VRAM? All 3 probably and more probably.. However, I always wondered why developers "tied" that spinning logo, or animated flourish, with the main thread. I don't know why, but it always bothered me lol.. Like.. why can't they just have a logo spinning nicely, and do the loading in the background without having it tied to the loading so that it doesn't stutter.

That always annoyed me haha. And I've noticed that in consoles it will happen sometimes, but not too often. On PC it happens far more often and it can be distracting. I'm wondering if it's a result of the memory setup of PC having split pools maybe?

Consoles don't have shader compilation, the shader are precompile, no CPU assets decompression and unified memory. CPU and GPU just need to initialize the level/zone, entities, AI. The game engine is already initiated during the load from the console/PC OS to the game menu.

Memory latency is also a factor. It’s one of the most important aspects of cpu performance. PS5 has more cache, but I don’t know how much improved latency to ram is.

The Jaguar are linked to GDDR5 memory latency is high too.
 
At the end from what I saw from multiples videos the 26 seconds against 13 seconds is an outlier.
 
Last edited:
At the end from what I saw from multiples video the 26 seconds against 13 seconds is an outlier.
I don't know. Maybe. But an open world game like Death stranding loads in 2.4 sec on PS5 instead of 42 sec on Pro. So I still think even an isolated case of 13 sec shows that it's not 100% optimized for PS5 I/O.
 
Also irony: Death Stranding uses the same Decima Engine that Horizon does. But yeah we’ll see how things develop. They were certainly confident with a review embargo so far before the actual release date!
 
Also - the game released with a few little bugs so it may also be the case that those longer loading times may be fixed later on with the rest of the issues. Or the game is not just loading assets but also processing all sorts of things that may push the loading times up a bit.
 
I don't know. Maybe. But an open world game like Death stranding loads in 2.4 sec on PS5 instead of 42 sec on Pro. So I still think even an isolated case of 13 sec shows that it's not 100% optimized for PS5 I/O.

What's 100% optimized for PS5 I/O?

Do you considered GTA 5 to be horribly I/O optimized for the PS4 and XBO because that title had some of the worse loading times in the history of mankind? Does your opinion on who has better handles on the memory system of a piece of hardware comes down to who has the fastest loading times? Memory management isn't simply centered around loading times? Maybe, GG looked at the 13 second load time, felt comfortable with it and concentrated their memory management/optimization efforts in other areas where slow transfer times can be detrimental to the actual game and gameplay.

We don't know even what these games are doing outside of what generally happens during load? Do we even have confirmation that a game like Death Stranding fully populates its RAM before starting gameplay? Or that its going with the bare minimum and streaming the rest after the level starts?
 
Last edited:
Here is how some modder cutting the load time for GTA Online in which RS used his solution or some version of his solution and added to an official update.

https://nee.lv/2021/02/28/How-I-cut-GTA-Online-loading-times-by-70/

Issues
  • There’s a single thread CPU bottleneck while starting up GTA Online
  • It turns out GTA struggles to parse a 10MB JSON file
  • The JSON parser itself is poorly built / naive and
  • After parsing there’s a slow item de-duplication routine
Results of his effort
  • Original online mode load time: ~6m flat
  • Time with only duplication check patch: 4m 30s
  • Time with only JSON parser patch: 2m 50s
  • Time with both issues patched: 1m 50s
Slow loads can't simply be ascribed to poor i/o optimization.
 
Last edited:
Here is how some modder cutting the load time for GTA Online in which RS used his solution or some version of his solution and added to an official update.

https://nee.lv/2021/02/28/How-I-cut-GTA-Online-loading-times-by-70/

Issues
  • There’s a single thread CPU bottleneck while starting up GTA Online
  • It turns out GTA struggles to parse a 10MB JSON file
  • The JSON parser itself is poorly built / naive and
  • After parsing there’s a slow item de-duplication routine
Results of his effort
  • Original online mode load time: ~6m flat
  • Time with only duplication check patch: 4m 30s
  • Time with only JSON parser patch: 2m 50s
  • Time with both issues patched: 1m 50s
Slow loads can't simply be ascribed to poor i/o optimization.
This is a perfect example of how a game could populate ram fully, then get stuck doing something completely different than moving data from storage to RAM, leaving the end user looking at a loading screen. That game could be both 100% optimized for PS5 I/O while still having a need for optimization.
 
This is a perfect example of how a game could populate ram fully, then get stuck doing something completely different than moving data from storage to RAM, leaving the end user looking at a loading screen. That game could be both 100% optimized for PS5 I/O while still having a need for optimization.

But no one said than optimizing CPU code is not part of loading. Insomniac is currently block at 5GB/s because the CPU code is not optimized enough and they are CPU bound but it was satisfying for R&C Rift Apart. If for example all loading where 13 seconds on PS5 and 26 seconds on PS4 Pro it means something is not well done or on packaging the game for PS5 I/O or on CPU side.

Another possible problem, there is tons of optimizations that need to be done from packaging of the game with data usable by the CPU and GPU without transformation in RAM and optimize CPU side of things. Fabian Giesen is from EPIC RAD tool Games and they give support to game dev.




What the game dev Lenore said is one of the problem into the CPU game engine part of Insomniac for example.
 
Here is how some modder cutting the load time for GTA Online in which RS used his solution or some version of his solution and added to an official update.

https://nee.lv/2021/02/28/How-I-cut-GTA-Online-loading-times-by-70/

Issues
  • There’s a single thread CPU bottleneck while starting up GTA Online
  • It turns out GTA struggles to parse a 10MB JSON file
  • The JSON parser itself is poorly built / naive and
  • After parsing there’s a slow item de-duplication routine
Results of his effort
  • Original online mode load time: ~6m flat
  • Time with only duplication check patch: 4m 30s
  • Time with only JSON parser patch: 2m 50s
  • Time with both issues patched: 1m 50s
Slow loads can't simply be ascribed to poor i/o optimization.
Yes, this logic is always a compromise thing. E.g. the game was already build for the PS360 generation. So if they had a 10mb json file (I guess it was much smaller at first), it is possible that they just didn't want to have it in memory, as this would be a huge part of the memory. So the logic was written to just get from the file what is needed and than immediately remove it from the memory.
If one developer made that routine to get one or two things from a json file, than this was probably fast enough. But over time more and more options got into the game (and that file) and the file size increased and also the read-requests so it became more and more a bottleneck in the whole system.
Question is, why they never tried to fix that problem. This should quite easily detected in a debugger/verbose log they use. My guess would be, it was just an initial loading thing and that was just not important as long as the game just runs well (never touch a running system ;) ).
Even in business processes (e.g. where I work) it is more important that the process as a whole works and as long as no one has a problem it won't get really fixed if it is just a bit waiting time. In business process the customer has a much bigger lever to enforce such fixes. Games are just not important so this would be prioritized.

They aren't saying that specifically, but there are those implying that any game that doesn't load within some arbitrary time isn't properly leveraging PS5's IO capabilities.
There will be always those people. But maybe, at some point they might understand that the gameplay without major bugs is more important than loading times and the developers don't have endless time to write optimal code on every occasion and for every situation.

Don't get me wrong, there are things like loading times in minutes that just shouldn't happen but it is still more important that the gameplay works. So gameplay should always have the priority.

At the end, the SSDs and much better CPUs + hardware decompression "just" helps to reduce loading times and get some pressure away. But it is more or less just that, it removes the bottleneck on that side and therefore makes other bottlenecks more visible. There is no bottleneck-free system (it always depends on the code that is needed to run your game), in the end something must be processed that might just need so many cycles that it needs it's time. It adds also some advantages that you can use the memory more efficient (than before) but in the end at some point the memory itself also will be a bottleneck (just like the CPU, GPU or bandwidth at some point)
 
Last edited:
They aren't saying that specifically, but there are those implying that any game that doesn't load within some arbitrary time isn't properly leveraging PS5's IO capabilities.

I agree here but what I disagree is to say that GG or other game developers can't do better basically it takes time and during the cross gen period they need to work on 3 consoles and during HFW dev they worked too on Horizon Zero Dawn PC and to fix it. They hired Virtuos studio but Jeremy Laumon one game engine dev of GG told in a tweet he erased later than they help a lot on it.

When they will have time they will improve it if it is possible probably for Horizon 3 where they will probably only work on a PS5 version and help the PC port of Horizon forbidden west where it will be easier than HZD because a part of the work is done and they have the support of Nixxes who helped for the DLSS patch of HZD.

EDIT: And I forget the pandemics impact.
 
Last edited:
I agree here but what I disagree is to say that GG or other game developers can't do better basically it takes time and during the cross gen period they need to work on 3 consoles and during HFW dev they worked too on Horizon Zero Dawn PC and to fix it. They hired Virtual studio but Jeremy Laumon one game engine dev of GG told in a tweet he erased later than they help a lot on it.

When they will have time they will improve it if it is possible probably for Horizon 3 where they will probably only work on a PS5 version and help the PC port of Horizon forbidden west where it will be easier than HZD because a part of the work is done and they have the support of Nixxes who helped for the DLSS patch of HZD,
I have a pretty strong feeling that the PC version of H:FW has been developed alongside the console versions as well.. There's the GFN leak and lots of little hints scattered around which point to it.

I'm also pretty confident that H:FW on PC isn't releasing in 2-3 years either, but rather next year.

But hey, that's just my own speculation.
 
https://www.nvidia.com/en-us/geforc...&ranSiteID=kXQk6.ivFEQ-PFkVQTFjSl.U_YHggmBaaQ

Concoles need a solution like this one. They are trying to hit high framerates, RT and high resolution which unfortunately leads to multiple modes where one thing is sacrificed for another.
NVIDIA is moving fast with their DLSS implementation which boosts framerates with RT and an image quality that is close to the native.

The performance boosts are simply tremendous. Consoles would have benefited a lot by this if AMD had something as good.
 
https://www.nvidia.com/en-us/geforc...&ranSiteID=kXQk6.ivFEQ-PFkVQTFjSl.U_YHggmBaaQ

Consoles need a solution like this one. They are trying to hit high framerates, RT and high resolution which unfortunately leads to multiple modes where one thing is sacrificed for another.
NVIDIA is moving fast with their DLSS implementation which boosts framerates with RT and an image quality that is close to the native.

The performance boosts are simply tremendous. Consoles would have benefited a lot by this if AMD had something as good.

It doesn't mean Sony or Microsoft have nothing on their side but the developers need to implement it and it takes time and work. They don't have tensor core, the solution will be different. Wait the end of cross Gen period and 2023 and later.
 
Have a good eye as I noticed that res is now lower in both modes vs previusly in 30 fps mode no longer available, imo this shadow rt mode is useless and should be higher res 30fps mode
 
Last edited:
Back
Top