Hey,
So I’ve been working on a project and recently I’ve been getting 20 frames per second. I still haven’t found out why. My GPU is running on 10ms, the draw calls are 7000 which I’m assuming is high. I have checked the textures sizes and the memory usage, and the results were good. I’m not sure what else to check. I’m wondering if it’s because of the amount of actors in the scene?
Hi,
So you’re using stat unit
to see that your GPU is only taking 10ms to render a frame? (90FPS) - Which of the other 2 stats is causing the bottleneck then?
Are most of your 42,000 actors static meshes? Or 42,000 bouncing physics balls?
Yes it is a lot if not optimized. What are those actors? Simple meshes? Characters? Trees? There are several optimization systems to deal with each type in particular. In the end 42.000 is still a lot. If you are already familiar with “stat” also check out the UI system. Slate can misbehave and drastically reduce FPS with complex widgets even when they are hidden.
They are all static meshes, my GPU is on 10ms however my draw is quite high (50-60ms).
I do get 7000 draw calls at some parts of my scene however when I asked if that many draw call is a lot in another forum. I was told that it’s not too many. Also I have to mention that about 37000 of my static meshes have nanite on them.
Simple low poly cubic static meshes.
Overall it is not a too many triangles problem nor too many rigs or physics. Just pure static meshes.
Thanks I will also check the UI system, though I’m not sure if the UI is referring to the custom user interface in the project of the unreal engine UI? If you mean the in-game UI, I haven’t made any.
These can still reduce performance greatly, even simple cubes on a high end rig.
UE has a system to spawn many meshes with improved performance, it’s the instanced static mesh:
If the static meshes are used as foliage you’d prefer the foliage tools / assets.
Yes, those widgets.
combine objects.
If you have 7000 separate cubes
it is way slower than an fbx with 7000 cubes inside it.
the fbx becomes one object instead of 7000.
Since they are already on the scene. Would merging work? And is it really worth it?
Not exactly, there are plenty of other ways to optimize. Else you would be building your level in Blender and export entire worlds to FBX, it’s not 2005 XD.
try it.
group a bunch of actors and combine them.
see if you get faster results.
or break your level into smaller partitions
Ppl have been optimizing for years
its a science
but with unreal it is easy to get lazy and think the whole sink will be fine
Nah I already grouped them before, but it didn’t work.
No worries though I found the solution.
I wasn’t being lazy I just didn’t know such options exist.
I basically batched all the unnecessary meshes.