Need Help/Advice regarding instanced static meshes (need someone experienced with optimizing)


So a few days ago I made this post…-static-meshes

And I couldn’t find the merge static mesh components node. I came up with my own ‘solution’ but I am having several headaches.

I was stress testing a blueprint of mine:

Let me explain, the walls construct themselves, each piece is a own static mesh component, when the assembly is done however I am adding instances of the “instanced mesh component” and place it to the transforms (see screenshot) and then delete all the static mesh components as the instanced static mesh component have replaced them. I was hoping this would crunch down on drawcalls quite a bit but I am not getting any noticeable result (why?). My instance static mesh conversion is definitely working, i checked that. Though like mentioned I am not getting the performance boost I hoped for.

Any tips would be appreciated, I am trying to get this thing optimized as much as possible.

Additional screenshot:

Had around 60-80 fps once it was all constructed on a 2080ti ryzen 9 3950x and 32 gigs of ram, which is imho a bit too unoptimized.

**Thank you so much in advance!

edit: **I am not getting 3 frames as in screenshot

You can take the guess work out of it by profiling your project

Mesh in general does not add to the performance overhead. General practice is if you are using instance mesh you should also use instanced materials.

The engine already tries (and probably instances) the meshes you are placing.
Also, adding the meshes to the hism doesn’t change much, they still require a draw call each, its not the same as “merging” a lot of objects into one.

To be a little more specific.
If your wall was using a mterial that in some way made use of the object position - gerstner waves, curve stuff, sine stuff, etc. You would get a benefit by using hism - marginal, mind you.

Just a guess as to why you get 2fps… are you using a flat mesh with a transparent material? If not transparent maybe masked?