Noticeable mesh popping

As I fly around my level at about 50 FPS I notice meshes popping in that were previously blocked before. I’m guessing this is due to hardware occlusion queries or something. It becomes really noticeable when I’m walking into a room and seeing the black void for a frame before a wall pops in.

First thing I would check is your Scalability Settings from the settings toolbar button, change the setting to Epic and try again. Lower settings can affect your draw distance.

I have it on Epic.

I tried it on lower settings too and the popping was less noticeable on lower settings. My computer just barely meets the requirements so I was wondering if the engine scales back on higher settings and causes popping to be more noticeable, and maybe that’s the case. Then again the world was also much darker since I guess they don’t perform the over exposure effect, and black void against dark grey walls is probably less noticeable than black void against bright white walls.

I also tried a test where I’m looking through a doorway and move side to side really fast. The effect was horribly noticeable. Meshes that weren’t visible a frame ago pop in late probably due to the hardware occlusion queries result being used some number of frames later. And this isn’t far away with a large draw distance. This is in tiny enclosed corridors.

Yeah this could possibly be due to your hardware, what video card and how much ram do you have? It could be that there is not enough video memory so it is loading in textures only as necessary at the last minute, that sounds plausible to me.

I would try packaging the game for windows and running it from the executable (with no other programs running) to see if the UE4 editor is using up a lot of resources, it may run better on it’s own.

I have a GTX480 and 8 Gigs of RAM. It’s not the textures though, it’s the mesh itself. Everything is currently covered in the default gray checkered material right now, so that’s definitely all loaded in already.

Are the meshes made from BSP brushes or static meshes? Having a lot of BSP’s in a level can cause poor performance, it is recommended to convert these into static meshes before packaging.

Your video card & RAM are both right at the recommended hardware for using UE4 so that shouldn’t be the issue, a bit above actually as a 470 is listed as the requirement. I would think a 480 would have 2gb, but can you confirm how much VRAM is in the card? UE4 usually uses around 1.2 to 1.5gb of VRAM on my system, if you only have 1gb that might cause something like this.

I have 1.5 GB VRAM. It’s all static meshes. I’m currently packaging for a full release build and I’ll see if some of my perf issues go away. I usually get about 60 FPS when running standalone versus 20 FPS in editor and that’s a debug build. I wonder if shadows and stuff will suddenly look much better too.

One thing I just tried was putting meshes into one actor instead of keeping a separate actor for each mesh, and I still saw the popping. I wonder if there’s a way I can group meshes together so they render as one during occlusion queries so that my rooms don’t have noticeable gaps all the time.

Or, heh, I can go extreme and modify Unreal Engine 4 to use my masters thesis hardware occlusion query visibility culling system. That’d be the a nightmare but oh so interesting to really see in action. It had popping, but not as bad.