Reputation: 137
How can i reduce massive amount of draw call in unity3d game. I want to build game for mobile devices and due to large numbers of draw calls i am not getting good performance in mobile.
Upvotes: 2
Views: 6457
Reputation: 279
You can reduce draw call by implementing these things
batching dynamic and static
Texture atlases,
Occlusion culling
lightmaping
mobile friendly shaders
low poly objects
low number of particles
unity already defined what to do for mobile performance
http://docs.unity3d.com/Manual/OptimizingGraphicsPerformance.html
and by my experience i also used free unity plugin called Draw call minimizer and in give video they show how they reduced draw calls from 69 to 12.
Upvotes: 4
Reputation: 3059
static batching(for not moving objects) , dynamic batching(for dynamic objects) , texture atlasing , occlusion culling , lightmapping , dont use dynamic lighting ,dont use post proccess effects or at least mobile friendly ones,low poly models , optimized shaders ,try to avoid more than one pass shaders
Upvotes: 0
Reputation: 16277
Using texture sheet, or atlas is also an effective way to reduce draw calls. Let's say you have texture images A, B, and C, which are used in a scene. This will result in 3 draw calls, and if you merge the texture A,B,C into a single texture D, then it might likely request 1 draw calls.
Unity has built in TexturePacker to fulfil this, and see this tutorial and this one for details.
Upvotes: 1
Reputation: 7204
from my experience, set shaders to its mobile version. They looks bit worse but are faster. Second, lights, myybe remove shadows and use it on baked textures? Simplify geometry (lowpoly objects). Look at this instructions : http://docs.unity3d.com/Manual/OptimizingGraphicsPerformance.html
Upvotes: 2