top | item 47144896

(no title)

formerly_proven | 5 days ago

This requires knowing what to compile, which these engines don't really do, because the necessary data is pooped out by arbitrary game logic / scripts. That's why precompiling shaders in e.g. UE5 basically relies on running the engine through a pre-recorded gameplay loop and then making a list of the shaders/PSOs used; those are then pre-compiled. Any shader not used in that loop will cause stutter. A newer UE5 technique is to have heuristics which try to guess which PSOs might be needed ahead of time.

There's this article from Unreal on the topic: https://www.unrealengine.com/en-US/tech-blog/game-engines-an...

If you read their proposed solutions, it's quite clear they only have patchy workarounds, and the inability to actually pre-compile the needed PSOs and avoid shader and traversal stutter is architectural. It should be noted that these engines are also stuttering on console, but it's not as noticeable since performance is generally much lower anyway.

discuss

order

No comments yet.