Too many meshs?

Hello beautiful people.
I’m back with another really noob question. Hopefully I can get some help.
So I began blocking out a level that I have planned by using BSPs from UE4. Now, the exterior edges of this map have metal fencing so as to block the player from going out or whatever. So to create the fences I used an individual piece of BSP box brush and scaled it to look like a fence pole thing and then duplicated it several times to fence the entire map. Halfway along the process, the engine began to lag terribly even if I moved a single pole by even 1 mm it took forever to happen and the engine would freeze for like 2 minutes and then it would have moved just 1mm. Now, because my map is kind of huge and since I’ve placed these fence poles individually (I did press ctrl+G to group them together and move them side to side), I’ve ended up having like over 1100 fence poles in my scene and I’m pretty sure this is the reason for the “lag” or whatever you want to call it. Without even a single fence my fps is 120 fps. But having the level fully surrounded by fences has made it drop to 66 fps … which is quite a major drop.

What all different options do I have to tackle this?

I know that its probably the fact that I’ve put so much in the scene, but I’d post my specs here either way because it could be that as well, although I highly doubt its that.
gigabyte z97x gaming 3 motherboard
i5 4690k OC
16 gigs ram 2133
gtx 970 super oc
120gigs ssd crucial
seagate 1tb hdd
750W power supply corsair
Corsair liquid cooling … I forget which one but I think H110?

I’m using Unreal Engine 4.5 (because some projects like the atlantis are only supported to that version, and I’m still new and learning)

Hope you can help!

Cheers. :smiley:

Yeah, the number of meshes is a problem, but using BSP is also slowing it down. Use static meshes instead, and combine some parts, like maybe 2 sections of fence as a single static mesh.

Work perfect. I’m back to 120 fps and 12 actors! Thanks a ton mate.

Alright, so question no.2.

I wanted to create some grass and so I used the static mesh grass from the blueprint office example and covered these 2 blocks with it. And now I have 980++ actors but they’re all static meshes. And this has drastically hit my performance dragging it from no grass = 120 fps, to 18 fps. How do I go about with this? Is there some way to combine these 980 static meshes to one static mesh? Or will I still face the same amount of lag because they’re still the same number of tris I suppose? (not a pro at modelling either so please correct me if I’m wrong)

edit: I placed them all manually, would using the foliage painter tool be any better? because I want to technically “cover” the ground in grass as you can see in the picture.

I personally would use low poly grass for this kind of task + use the foliage tool to place them (this will increase the performance, because they will be rendered in clusters) -> https://forums.unrealengine/showthread.php?9928-Free-grass-meshes :slight_smile:

You’ll want to control the poly count there, but yes the foliage tool would be better—with the foliage tool it will batch the grass together as a single mesh, so it uses less draw calls, but it will use a lot of memory so it’s more ideal to use low poly meshes like planes for grass since the poly count can add up.

So I followed what suggested and filled the entire block full of grass using the grass in his link and foliage tool and it rendered as one and I’m back to 120 fps with more natural looking grass!! :stuck_out_tongue:
You guys are great, thanks for helping me out!

Cheers. :smiley: :smiley: :smiley: