Shader Compilation on PC: About to become a bigger bottleneck?

Wow the skipping objects things is interesting. What if the material changes on an object already in view and you need a fresh PSO for the new material? Will it disappear for a few frames?
Or what about on camera cuts? Do objects take a few frames to come into existence?
I think UE5 is for best performance and best visual quality will need to combine pre-compiled PSOs + this new async/delay draw method.
 
Despite using 16GB VRAM, Diablo 4 has traversal stuttering which can be very annoying. And in this game i dont understand it. The camera perspective is so narrow and the game should always have every data in the VRAM...

The stuttering could be server problem rather than shader related though. For example, I haven't seen that for quite some time with a 3080 Ti, but it happens when fighting the world boss. It also happens sometimes in dungeons where there is absolutely no reason to have shader compliation problem.
 
Despite using 16GB VRAM, Diablo 4 has traversal stuttering which can be very annoying. And in this game i dont understand it. The camera perspective is so narrow and the game should always have every data in the VRAM...
I think it’s rubber banding lag. For when you change areas. But there is still some performance issues
 
What is the difference between "rubber banding lag" and "traversal stuttering"? I'm getting confused over new terminologies, apologies.
 
Generally "traversal stuttering" means something related to badly implemented streaming or no streaming at all, therefore requiring the entire assets to be in the VRAM. If the VRAM is not large enough, it'll stutter when you move to an area requiring assets not available in VRAM as the game has to load the new assets from the main memory. Since it needs to remove some assets from VRAM to make room for the new assets, it'll stutter again when you go back to the original area.
"Rubber banding" generally means something caused by network lag or server problem in online games, where you move but the server does not register the move thus you suddenly go back to your old location a few moment ago. This normally has nothing to do with rendering.
 
During the open beta I reduced texture quality and it seemed to lessen stutters and didn’t look noticeably different, but there were definitely server problems where you’d be stuck running on the spot but other players would be moving around you.
 
I’m just coming off a worldwind tour of Frostbite in the past few weeks playing the Battlefield 1, Battlefield 5 and Battlefront II campaigns back to back.

BFV had ridiculous shader stutter on DX12 but I struggled through. They must be generating permutations for every little thing because levels with very similar objects / environment and lighting to previous levels would still stutter a crazy amount in the first few minutes.

Battlefront II on DX11 was much better but traversal stutter was pretty common. Frostbite is a beautiful engine though. Really impressive what it accomplished last gen. Looking forward to the next iteration. Hopefully all next generation engines prioritize these issues because they really are immersion killers.
 
So is Unreal Engine 5.1+ now able to collect PSO lists for and pre-cache RT PSOs? We know Niagara is now supported, but I'm still not clear with regards to RT.

I've noticed that a few of these Unreal Engine games which support RT can often hitch at times, whereas RT off doesn't.. despite shader caches being built or rebuilt after changing the setting.

I also wish that Epic would post a 5.3 future-looking roadmap into further out things they are working on.. because I wonder what comes next for PSOs and shader compilation wrt Unreal Engine 5.
 
Generally "traversal stuttering" means something related to badly implemented streaming or no streaming at all, therefore requiring the entire assets to be in the VRAM. If the VRAM is not large enough, it'll stutter when you move to an area requiring assets not available in VRAM as the game has to load the new assets from the main memory. Since it needs to remove some assets from VRAM to make room for the new assets, it'll stutter again when you go back to the original area.
"Rubber banding" generally means something caused by network lag or server problem in online games, where you move but the server does not register the move thus you suddenly go back to your old location a few moment ago. This normally has nothing to do with rendering.
Network sync issues shouldn't have any effect on fps though even if what you see would look like a hitch.

So is Unreal Engine 5.1+ now able to collect PSO lists for and pre-cache RT PSOs? We know Niagara is now supported, but I'm still not clear with regards to RT.

I've noticed that a few of these Unreal Engine games which support RT can often hitch at times, whereas RT off doesn't.. despite shader caches being built or rebuilt after changing the setting.

I also wish that Epic would post a 5.3 future-looking roadmap into further out things they are working on.. because I wonder what comes next for PSOs and shader compilation wrt Unreal Engine 5.
I wonder what was the reasoning behind not including RT shaders into PSO gathering for compilation in the first place? Didn't expect a lot of them?
 
I wonder what was the reasoning behind not including RT shaders into PSO gathering for compilation in the first place? Didn't expect a lot of them?
Yea, no idea. There's got to be some reason, I'm sure. That's why I'd like a further out looking roadmap for 5.3, to see if it's something that's being worked on.

The updated UE5.2 documentation states that RT PSOs aren't supported with UE5.0 specifically.. but no mention if that's changed in either 5.1 or 5.2. I'm guessing not, since they'd presumably update that portion of the documentation if they had.
 
I wonder what was the reasoning behind not including RT shaders into PSO gathering for compilation in the first place? Didn't expect a lot of them?

Maybe they’re using a generic closest hit shader that’s material agnostic. Thought I saw that in one of the Epic presentations.
 
So the good news is that Layers of Fear demo running on UE 5.1.1 is basically free from any shader compilation stuttering - at least from my limited testing. The game seem to be 100% GPU limited for me too with a 4090 hitting ~120 fps in 4K+DLSSQ - no CPU issues here I'd say.

The bad news is that the game looks like something from early UE4 days nowhere close to what UE5 demos were showing.
 
Generally "traversal stuttering" means something related to badly implemented streaming or no streaming at all, therefore requiring the entire assets to be in the VRAM. If the VRAM is not large enough, it'll stutter when you move to an area requiring assets not available in VRAM as the game has to load the new assets from the main memory. Since it needs to remove some assets from VRAM to make room for the new assets, it'll stutter again when you go back to the original area.
"Rubber banding" generally means something caused by network lag or server problem in online games, where you move but the server does not register the move thus you suddenly go back to your old location a few moment ago. This normally has nothing to do with rendering.
Thank you, that explains it perfectly!
 
So the good news is that Layers of Fear demo running on UE 5.1.1 is basically free from any shader compilation stuttering - at least from my limited testing. The game seem to be 100% GPU limited for me too with a 4090 hitting ~120 fps in 4K+DLSSQ - no CPU issues here I'd say.

The bad news is that the game looks like something from early UE4 days nowhere close to what UE5 demos were showing.

It's not a quantum leap in graphics for sure, but I think it generally looks pretty good for an AA studio release. Interestingly at 'high' textures it's barely even using 4GB, hell in the second area my actual allocated vram on my 3060 barely went over 2.5GB. This is at 4K with DLSS automatic, all settings at medium except view distance and textures maxxed out, which gives me a solid 60.

It's very limited in scope yeah, but when you factor in other Blooper efforts - even within the same environment of narrow corridors - it's a technical revelation compared to their other PC releases. :) I wouldn't draw too many conclusions about UE5 from this game alone no doubt, but Blooper have delivered, consistently, some of the worst UE4 efforts on PC - and that's tough competition. To have them deliver a pre-release demo that has all the major image reconstruction options, no shader stuttering (not even with a pre-compilation stage), extremely fast loading.

There are still some small traversal stutters - had about 4 in my 15 minutes, but demo is also installed to just a sata SSD so that may be a factor. Overall I'd say very positive first impression.
 
Last edited:
It's not a quantum leap in graphics for sure, but I think it generally looks pretty good for an AA studio release. Interestingly at 'high' textures it's barely even using 4GB, hell in the second area my actual allocated vram on my 3060 barely went over 2.5GB. This is at 4K with DLSS automatic, all settings at medium except view distance and textures maxxed out, which gives me a solid 60.

It's very limited in scope yeah, but when you factor in other Blooper efforts - even within the same environment of narrow corridors - it's a technical revelation compared to their other PC releases. :) I wouldn't draw too many conclusions about UE5 from this game alone no doubt, but Blooper have delivered, consistently, some of the worst UE4 efforts on PC - and that's tough competition. To have them deliver a pre-release demo that has all the major image reconstruction options, no shader stuttering (not even with a pre-compilation stage), extremely fast loading.

There are still some small traversal stutters - had about 4 in my 15 minutes, but demo is also installed to just a sata SSD so that may be a factor. Overall I'd say very positive first impression.

It could be that with a potentially larger team budget (also working on a project for SEGA), they might have hired some more proficient (veteran) engine developers. It could also be that UE5 is just that much better than UE4 when it comes to these things. As you said, we'll have to wait and see.

Regards,
SB
 
Back
Top