FPS drop when looking at mesh

Have you tried looking at the level in wireframe? ( ALT+2 )

Hi all, I am trying to use some simplified geometry in my scene. However, when I look at it or enter it, I get a huge fps drop, which is bad for VR (I have tested with 3rd person controller, same drop). The buildings are modular, but on average their components’ triangles and vertices are low (32 and 62). However, the original mesh models were huge, and I have scaled them down to 0.1. I have tried different materials, and I do not think this causes it. They also have a lot of colliders, but I am not sure whether they would impact the fps that much.

I know it is not that much information to go on, but I will provide anything else you might need.

A video showcasing this can be found here;

Thanks for the answer. This is what I see:

I am not proficient yet, could you elaborate?

It looks ok, but definitely more verts than you were saying. Take a look at the player demo area in this view, you’ll see there’s almost no verts.

Also try looking at some assets you have that do work ok. It’s a little hard to tell from here because I can’t rotate the view, but I think those walls are pretty complex…

Hey CO, thanks for the reply. This is an average wall (they are comprised of 3 placed together rectangles). 4 of them are used for this block, along with the connector piece (2nd pic). I hope this helps. I assume that if I baked the stage geometry (BSP) into brushes, they would also have at least 12 triangles.

Sorry, I’m all out of ideas.

It might help to try a few console commands, they can tell you what’s taking all the frame time.

But it’s a little like reading tarot cards…

Best to look up a tutorial on youtube, or post again and ask about what commands to use.

I recall off the top of my head ‘stat rhi’ will tell you how many polys are begin drawn, but I can’t recall a couple of other major ones ( not at a machine right now… )

Hi, could you show an image of the shader complexity when you view at your mesh? (the hotkey to change to shader complexity viewmode inside the editor is ALT+8, and to switch back to the default one ALT+4)

And an image of the result of the console command “stat unit” and “stat gpu”?

Hey Chrudimer, thanks for the reply. I encountered an issue with stat gpu, but I do not see anything really wrong that would justify this fps drop. I also took a shot of the GPU profiler at that moment.


(1) What hardware are you running on?

(2) Do you start your game inside the editor, or do you start it in a new process (standalone, or via command line for example)? If you start it in the editor, you will always get (considerably) worse performance compared to starting it in a new process.

First of, you’re GPU bound and have (and capped at) 60 frames per sec and not something like 30 as sometimes shown in the video above (unless the fps in the video are what the headset is actually running on which might be lower if it performs some additional operations after UE has finished rendering).

The shader complexity of your mesh is considerably higher than the shader complexity of the default map. Therefore the performance cost go higher the more of your mesh covers the screen. But unless you’re running something like an oculus go, this should not lead to such an performance issue (and even then I’m not sure).

So from your GPU profiler result, most of your time goes into post processing. The cost for that won’t change whether or not you look at your mesh but it depends on your post process quality and the resolution you’re rendering on.

Next is base pass. The cost for that will increase if you look at your mesh, due to the higher shader complexity of the material, and the higher vertex count.

Last big one is shadow projections. AFAIK this only depends on your lightning setup and rendering resolution, but not directly on your vertex count, so unless you have some additional shadow casting lights inside your mesh, the cost for that should not change whether or not you look at the mesh.

And the stat gpu image seems to be broken :slight_smile: