At a glance, I would blame Occlusion.
Particularly on this frame:
If the level does not in fact have similar geometry back there, then there must be some other issue with the rendering that’s causing the slowdown.
and if that’s the case you could maybe slow the camera movement of the character to allow for the engine to catch up a bit. it seems a bit fast anyway.
So i’ve been working in unreal for about a year now and in a few of my projects I’ve noticed these flashing artefacts when moving around. It looks like some weird occlusion stuff, but I’m really not sure what’s causing it.
Here’s a link to a gif of the artefacts
Any help would be appreciated,
hey, thanks for the reply! unfortunately this seems to be independent of speed and geometry.
There should not be anything but occlusion causing a gap with precise geometry like in the image I linked.
to compare you can freeze rendering before peeking the corner and see/screenshot what the occluded scene looks like.
A possible cause could also be motion blur - it seems like you have it on, try to disable it, see if it makes any difference at all.
Other then that, it’s grasping at straws. My similar issues were occlusion related.
I would selectively increase the bounds of the door - or whatever it is that you are looking at to be double the current size. that way the engine will essentially start rendering the doorway 1 whole doorway before it is visible.
I would make the whole room part of the cull distance volume, and force it to always render just the room you are immediately peeking into.
Mind you, it’s a lot of work
yeah, you’re definitely right that it’s an occlusion bug, turning occlusion culling off fixes the issue, but camera movement definitely isn’t the right way to fix it. After freezing the rendering, everything looks fine frozen, but the issue is only when moving so it’s hard to recreate from frozen rendering. I tried adjusting the bounds of actors but it tanked the frame rate and didn’t fix the issue.
Also motion blur isn’t enabled.
Thanks again for the reply.
Tried turning HBZ occlusion on and increasing the bounds slightly and it seems to have gotten rid of the problem, but the performance is tanking quite a bit now. Not sure what the compromise is.
Using freeze rendering you may be able to see if anything is erroneously being rendered anyway. The only reason that the performance would be affected is if A LOT more things are being rendered then before…
further update. Issue still persists despite increasing the bounds, and at this point turning occlusion culling off isn’t that much more intensive on the frame rate.
That said, i’m still not sure why there’s a frame lag on the occlusion in the first place.
I was actually watching an old stream trying to sort out some of my own culling woes when they sort of covered a partial answer to your issue:
too boring didn’t watch:
Create a piece of geometry behind it, set the culling distance to make it disappear when close to the camera.
It should lessen the flashing and cause you no more overhead then adding in a piece of geometry would.
Hey, so basically I just ended up turning the skybox off because i didn’t need it.
I have been looking into this a lot and it seems there are tons of shipped games that have this exact bug.
It doesn’t seem to be something there’s a fix for without writing your own occlusion culling, as this video doesn’t really fix any of the issues at all. Like, putting extra large geo behind popping meshes isn’t always viable, especially in outdoor scenes.
He even says in the video HZB only slightly lessens the popping.
Appreciate the reply though.