Adjust scene for Batching Draw Calls
Hi!
I recently purchased the "Multistory Dungeons" asset pack (https://assetstore.unity.com/packages/3d/environments/dungeons/multistory-dungeons-33955) and wanted to try it on mobile devices.
However a quite simple test level - a few of the default rooms and corridors - already kills the performance on my smartphone (Nexus 5X).
So I read in the support thread of said asset and as mentioned there, I removed all Torches, Candles (I did this with a Script at runtime, so I don´t know wether this is worse than doing it directly in the editor) and my performance improved a bit (from around 20 to 30 FPS), however this is still very bad, as this is basically an empty scene where nothing happens.
So I Used the Unity Profiler to find my performance issue and I thing the problem is the huge amount of draw calls.
I am seeing around 600+ draw calls on average(after removing the torches and candles - if they are enabled it becomes 1500+ draw calls) and via the stats in the game window I see that batching does not work, as it doesn´t save a single call.
So I tried to investigate further and used the Frame Debugger Window to see why unity is not batching my objects and there are quite a few reasons, but the most frequent ones are
objects are affected by different forward lights and
objects are lightmapped
So as I am just a Unity beginner I am a bit lost on what to do now, because I thought lightmap baking is actually used to improve performance, but if it stops draw call batching it also hurts performance, or am I misunderstanding something?
And the other "error/explanation" message is even a bit trickier for me to understand, so I know, there are different rendering modes forward/deferred/Legacy vertex Lit,..., but I don´t know what they actually mean or what side effects chaning the redering mode would have.
Additionally in the support thread of that asset pack was mentioned to use "mobile shaders", are they talking about custom, self written shaders or can I somehow set Unity to use mobile shaders(and if that´s the case, why isn´t Unity doing so automatically, when I am building for Android)?
I hope you can help me to improve the performance / reduce the draw calls.
Your answer
Follow this Question
Related Questions
Multiple small update calls vs one large update call? 1 Answer
Low performance on Mobile build of 2D Platformer game. 1 Answer
Mobile Performance Issues 0 Answers
Batching drawcalls for runtime generated gameobjects 0 Answers
High FPS in Profiler while actual FPS on android device is very low 1 Answer