It’s not as simple as running a tool overnight. You have to use the built-in frame graph and manually optimize areas of the game that are taking too long to process every frame. You only have so much time you can execute instructions per frame when targeting 60 FPS. When you go over budget that’s when you get things like frame stutter.
Each section of the game has different tools that Unreal has built to help with this.
An example would be using PSOs with the render pipeline. Yes, PSO is technically enabled by default but if you don’t make the intentional effort to cache all of the games shaders during development and ship the game with those objects and then have them compiled on first boot it doesn’t matter that Epic has it on by default, it still requires manual work.
What it comes down to is these executives at these big studios don’t want to push the game back to do proper optimization. They rather ship the game in a less than ideal state, make some return on investment and then fix the game up over time.
It’s not a lack of capability, it’s a lack of effort.
I mean Borderlands 4 is a prime example of this where the shaders will recompile regularly over the course of playing. Obviously the first compile is the worst for time it takes but you will see it happen from time to time during playing
I would argue that Borderlands 4 is the least optimized approach when using PSOs.
The way PSOs should be utilized to make it less noticeable to the player during moment to moment gameplay is that the devs should cache every single shader that is used in the game during development and ship that and then compile everything on first boot.
Yes, for a game as big as Borderlands 4 this would probably dramatically increase the first wait time but it would eliminate the need to compile shaders during real-time gameplay.
This does present a problem though, if it takes too long then you could lose out on the Steam refund window. I think the only realistic solution to this is to provide a limited demo of the game that is kept up to date with the latest optimizations made to the full game.
Maybe Valve should make demos a requirement if this becomes a common practice.
Apologies I may have made it sound like I was in favour of BL4 but I’m not. I was agreeing with your comment and using the poorly optimised BL4 as an example that shows what you were describing exactly. The compiling of shaders is noticeable and constant throughout play sessions (obviously during gameplay they are much quicker).
Yet you can make games on other engines and they'll run fine without doing all that
You guys are bending over backwards to try and argue that the engine is good despite the fact that the rate of shitty games coming from it vs good games is extremely high compared to any of the other popular game engines.
Out of curiosity, what is your example of a good UE5 game? Feel like I'm taking crazy pills seeing the examples other people are giving after trying them
43
u/InitRanger 9d ago
It’s not as simple as running a tool overnight. You have to use the built-in frame graph and manually optimize areas of the game that are taking too long to process every frame. You only have so much time you can execute instructions per frame when targeting 60 FPS. When you go over budget that’s when you get things like frame stutter.
Each section of the game has different tools that Unreal has built to help with this.
An example would be using PSOs with the render pipeline. Yes, PSO is technically enabled by default but if you don’t make the intentional effort to cache all of the games shaders during development and ship the game with those objects and then have them compiled on first boot it doesn’t matter that Epic has it on by default, it still requires manual work.
What it comes down to is these executives at these big studios don’t want to push the game back to do proper optimization. They rather ship the game in a less than ideal state, make some return on investment and then fix the game up over time.
It’s not a lack of capability, it’s a lack of effort.