craig lerr
craig lerr

Reputation: 137

How to Reduce draw calls in unity3d

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

Answers (4)

aflatoon
aflatoon

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

Milad Qasemi
Milad Qasemi

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

David
David

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.

enter image description here

Unity has built in TexturePacker to fulfil this, and see this tutorial and this one for details.

Upvotes: 1

Krzysztof Sztompka
Krzysztof Sztompka

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

Related Questions