Hi,
I’m making an RPG and I noticed that when I have 100 enemies on screen the draw calls go up to 400, maybe 450. The performance is so-so, and I’m not sure if that many draw calls are ok.
I read the docs about draw calls optimization and I don’t know if I can take advantage of batching. Right now they all share the same material, but they can’t be grouped because they need to move independently. They are all animated skinned meshes.
So is there anything I can do to reduce the number of draw calls, or the CPU overhead in general?
According to : http://docs.unity3d.com/Documentation/Manual/DrawCallBatching.html I would say that "objects moving independently" doesn't mean you can't batch, just use dynamic batching instead of static batching (If you fill the other requirements). Make sure all your materials are only one shared instance.
– XelareipI believe the only way to reduce the number of draw calls without batching is by combining meshes in your 3D editor. You won't be able to take advantage of batching at all because they are skinned meshes. If you have Unity Pro, you should check the profiler and find out what exactly is eating your CPU/GPU. I have a scene with 2000 draw calls which runs at 40 FPS (Quad Core 2.2GHz and a GTX 560M) so I would think that 400 draw calls should be fine on most if not all systems.
– BrokenMusicBoxMy bad for the batching. Just to point out : 400 draw calls won't be acceptable on mobile.
– Xelareip