RoboCop: Rogue City

RoboCop: Rogue City

whats with the stuttering?!??!?!?!
4090
i9 12900k
< >
115/21 megjegyzés mutatása
It's the same shader-related stuttering problem many Unreal games have suffered from over the years. The fix is pretty easy for the devs: just load all of the shaders when the game starts, rather than having them all load "on the fly."
no shader compilation at launch + ue5
Legutóbb szerkesztette: potato; 2023. okt. 7., 16:58
At this point I just wonder why Epic didn't create some kind of shader precompilation algorithm on the engine level (I don't actually know what I'm talking about so if you can explain why that would be impossible then please, by all means do). As far as I know in order for Teyon to address this they'd have to replay the game over and over again until they manage to catch every single shader and then they can base shader precompilation on that data. That just sounds very ineffective and tedious.
Zaxx eredeti hozzászólása:
As far as I know in order for Teyon to address this they'd have to replay the game over and over again until they manage to catch every single shader and then they can base shader precompilation on that data. That just sounds very ineffective and tedious.
no, that's not how it works, they just need to enable shader compilation in main menu and it will compile it for your specific config
Legutóbb szerkesztette: potato; 2023. okt. 7., 17:08
potato eredeti hozzászólása:
Zaxx eredeti hozzászólása:
As far as I know in order for Teyon to address this they'd have to replay the game over and over again until they manage to catch every single shader and then they can base shader precompilation on that data. That just sounds very ineffective and tedious.
no, that's not how it works, they just need to enable shader compilation in main menu and it will compile it for your specific config
As far as I understand that's not how it works, there is no switch to flip that will tell UE5 automatically what shaders to compile. Shader precompilation is essentially an algorithm that loads every single shader into the system so that they are compiled before you encounter them in the game but in order to get the list of shaders to be compiled the devs have to make a "list" of them which is where replaying the game over and over again comes into play.

And they can actually mess this up too, for example Star Wars Jedi Survivor has shader stutter even with a shader precompilation step simply because the devs didn't catch all the shaders.
Zaxx eredeti hozzászólása:
As far as I understand that's not how it works, there is no switch to flip that will tell UE5 automatically what shaders to compile.
no, you don't understand how it works

shader cache is unique to your hardware, it can't be precompiled by the devs
Zaxx eredeti hozzászólása:
And they can actually mess this up too, for example Star Wars Jedi Survivor has shader stutter even with a shader precompilation step simply because the devs didn't catch all the shaders.
that's a different kind of stutter
Zaxx eredeti hozzászólása:
Shader precompilation is essentially an algorithm that loads every single shader into the system so that they are compiled before you encounter them in the game but in order to get the list of shaders to be compiled the devs have to make a "list" of them which is where replaying the game over and over again comes into play.
shader cache CANNOT be compiled by the devs as they can only be compiled locally for your hardware

shader cache is only possible to precompile on consoles as they have unified hardware (every ps5 console uses the same hardware configuration, every xbox uses the same hardware configuration, etc)
Legutóbb szerkesztette: potato; 2023. okt. 7., 17:27
potato eredeti hozzászólása:
shader cache is unique to your hardware, it can't be precompiled by the devs
I never said anything like this so I consider this a failure to communicate and will just move on.
Zaxx eredeti hozzászólása:
I never said anything like this so I consider this a failure to communicate and will just move on.
but you did, you said the devs would have to play the game over and over to "catch all shaders" so they could precompile them

that's not how it works cause the shaders have to be precompiled locally on your machine as every shader cache is unique to your hardware configuration

unreal engine does have a toggle for this, it's called pso caching

https://docs.unrealengine.com/4.26/en-US/SharingAndReleasing/PSOCaching/
Legutóbb szerkesztette: potato; 2023. okt. 7., 17:34
potato eredeti hozzászólása:
but you did, you said the devs would have to play the game over and over to "catch all shaders" so they could precompile them
No: so that YOUR SYSTEM could precompile them. If your system doesn't know what to compile then it won't compile ♥♥♥♥.
Legutóbb szerkesztette: Zaxx; 2023. okt. 7., 17:38
Zaxx eredeti hozzászólása:
No: so that YOUR SYSTEM could precompile them.
what? you don't need the devs to play the game "over and over" for that, they just need to enable pso caching so it would compile them on launch, many games already do this
potato eredeti hozzászólása:
Zaxx eredeti hozzászólása:
No: so that YOUR SYSTEM could precompile them.
what? you don't need the devs to play the game "over and over" for that, they just need to enable pso caching so it would compile them on launch, many games already do this
Explain this then (the statement at 4:45):
https://youtu.be/lsskwVyPoxs?si=qpG69fPNhmMHORBp&t=285
Zaxx eredeti hozzászólása:
potato eredeti hozzászólása:
what? you don't need the devs to play the game "over and over" for that, they just need to enable pso caching so it would compile them on launch, many games already do this
Explain this then (the statement at 4:45):
https://youtu.be/lsskwVyPoxs?si=qpG69fPNhmMHORBp&t=285

My guy, Potato is actually correct.

You folks are confused.

There are 2 types of stutters as Potato tried to lay out.

Traversal stutter
Shader compilation stutter

You are comparing Jedi Survivor (UE4 engine title) to Robocob, UE5. apples and oranges.

In addition, conflating Traversal stutter from Jedi survivor to Shader compilation stutter that's rampant all throughout Robocob's UE5 demo.

As the man said, shaders are compiled via the make-up of the user's specific hardware config.

Dev's can enable a feature in their UE4 and UE5 titles to perform a pre compile step before the user loads into a level.

This is a demo, and I'm going to assume the dev's will perform this step once the game is ready to be released in November. (It's not crazy task to perform, but bear in mind, this demo could be a very old build of the game and the latest build may have all sorts of fixes etc.)
Dumar eredeti hozzászólása:
Zaxx eredeti hozzászólása:
Explain this then (the statement at 4:45):
https://youtu.be/lsskwVyPoxs?si=qpG69fPNhmMHORBp&t=285

My guy, Potato is actually correct.

You folks are confused.

There are 2 types of stutters as Potato tried to lay out.

Traversal stutter
Shader compilation stutter

You are comparing Jedi Survivor (UE4 engine title) to Robocob, UE5. apples and oranges.

In addition, conflating Traversal stutter from Jedi survivor to Shader compilation stutter that's rampant all throughout Robocob's UE5 demo.

As the man said, shaders are compiled via the make-up of the user's specific hardware config.

Dev's can enable a feature in their UE4 and UE5 titles to perform a pre compile step before the user loads into a level.

This is a demo, and I'm going to assume the dev's will perform this step once the game is ready to be released in November. (It's not crazy task to perform, but bear in mind, this demo could be a very old build of the game and the latest build may have all sorts of fixes etc.)
The video is talking about shader compile stutter at that section, please watch it and only comment afterwards. I know what traversal stutter is, never even mentioned it though so I don't know why you'd bring it up.

The specifc question I'd like to see an answer to: why is it that Jedi Survivor has the feature that potato was talking about and yet not every relevant shader was precompiled?

Stop moving goalposts, I'm not here to argue, I don't care who "wins" an argument on the internet, I'd just like to see this explained properly, "my guy". I'm fine with potato being right, it's just that it doesn't add up.
Legutóbb szerkesztette: Zaxx; 2023. okt. 7., 20:09
Zaxx eredeti hozzászólása:
Dumar eredeti hozzászólása:

My guy, Potato is actually correct.

You folks are confused.

There are 2 types of stutters as Potato tried to lay out.

Traversal stutter
Shader compilation stutter

You are comparing Jedi Survivor (UE4 engine title) to Robocob, UE5. apples and oranges.

In addition, conflating Traversal stutter from Jedi survivor to Shader compilation stutter that's rampant all throughout Robocob's UE5 demo.

As the man said, shaders are compiled via the make-up of the user's specific hardware config.

Dev's can enable a feature in their UE4 and UE5 titles to perform a pre compile step before the user loads into a level.

This is a demo, and I'm going to assume the dev's will perform this step once the game is ready to be released in November. (It's not crazy task to perform, but bear in mind, this demo could be a very old build of the game and the latest build may have all sorts of fixes etc.)
The video is talking about shader compile stutter at that section, please watch it and only comment afterwards. I know what traversal stutter is, never even mentioned it though so I don't know why you'd bring it up.

The specifc question I'd like to see an answer to: why is it that Jedi Survivor has the feature that potato was talking about and yet not every relevant shader was precompiled?

Stop moving goalposts, I'm not here to argue, I don't care who "wins" an argument on the internet, I'd just like to see this explained properly, "my guy". I'm fine with potato being right, it's just that it doesn't add up.
Didn't move the goal post.

The poster right after you brought up Jedi survivor and conflated two different issues with stutter.

As it stands, Jedi Survivor on UE4 has nothing to do with Robocob on UE5. Apples and oranges.

In addition, you're asking a question none of us have an answer to... Why do games have bugs with stutter even after pre compilation because said game has bugs? Jedi Survivor despite its steps in shader caching still has stutters with both traversal and pso shaders.

Doesn't mean the process doesn't work, it just means devs need to fix/optimize their PSO caching process properly on their specific title and or our modern CPU's will never be fast enough to process their specific PSO files in large chunks.

If you want technical answers, lookup and read about UE4 and PSO shader caching.

Pretty sure Potato bounced out this thread because its a waste of time, same as I will do.
Legutóbb szerkesztette: Dumar; 2023. okt. 7., 20:40
Dumar eredeti hozzászólása:
Zaxx eredeti hozzászólása:
The video is talking about shader compile stutter at that section, please watch it and only comment afterwards. I know what traversal stutter is, never even mentioned it though so I don't know why you'd bring it up.

The specifc question I'd like to see an answer to: why is it that Jedi Survivor has the feature that potato was talking about and yet not every relevant shader was precompiled?

Stop moving goalposts, I'm not here to argue, I don't care who "wins" an argument on the internet, I'd just like to see this explained properly, "my guy". I'm fine with potato being right, it's just that it doesn't add up.
Didn't move the goal post.

The poster right after you brought up Jedi survivor and conflated two different issues with stutter.

As it stands, Jedi Survivor on UE4 has nothing to do with Robocob on UE5. Apples and oranges.

In addition, you're asking a question none of us have an answer to... Why do games have bugs with stutter even after pre compilation because said game has bugs? Jedi Survivor despite its steps in shader caching still has stutters with both traversal and pso shaders.

Doesn't mean the process doesn't work, it just means devs need to fix/optimize their PSO caching process properly on their specific title and or our modern CPU's will never be fast enough to process their specific PSO files in large chunks.

If you want technical answers, lookup and read about UE4 and PSO shader caching.

Pretty sure Potato bounced out this thread because its a waste of time, same as I will do.
That's just the thing though: I looked it up and according to the documentation it works how I explained it. Like you know, I don't come up with random theories from thin air, I read them somewhere. :D

https://docs.unrealengine.com/4.26/en-US/SharingAndReleasing/PSOCaching/GatheringPSOData/
Relevant snippets:
Part of the data that is used for Pipeline State Object (PSO) caching has to be generated while the project is running on one of its target devices.

Once the build is completed and deployed to your target device, you will then need to play through all of your project's available Levels. The goal is to try to load every single piece of content that is used in the game so that the Shaders that the Materials use are captured.

Afaik this is how it works under both UE4 and UE5 (it's not exactly apples to orangers, it's more like jonagold apple to starking apple). So please check out from the thread by all means but my guess is that it wouldn't take more than a few sentences to explain where I'm wrong about this.
Legutóbb szerkesztette: Zaxx; 2023. okt. 7., 20:57
< >
115/21 megjegyzés mutatása
Laponként: 1530 50

Közzétéve: 2023. okt. 7., 16:56
Hozzászólások: 21