What's a good draw call count?

Hello I’m working on a game and I’m designing it with a balance between performance and fidelity in mind, how many is too high?

It depends on the hardware you’re targeting, so there’s no particular answer. Use the profiler to measure performance.

Without the compiler, just run a test.

  • Create a single object of the complexity you will be using for your game in the scene.
  • Put a material and texture (using a representative shader) on this object.
  • Scale the object down and make it a prefab.
  • Add a cube to your scene.
  • Add the the following script to the cube.
  • Initialize the ‘prefab’ variable with the object created in step 1
  • Put an FPS script in the scene (you will find a FPS script in the Unity Wiki).
  • Build and run the app on the target device
  • Tap the cube to create 25 objects at a time. Note when the FPS drops. Note when the FPS become unacceptable.

Since you are starting with such a simple scene and your game will be more complex, these will be the outside limits for that device using the specified material. You may want to experiment with simpler materials and less complex prefabs to see what you buy in terms of performance.

#pragma strict
 
var prefab : GameObject;

function Update() {
	transform.Rotate(0,Time.deltaTime * 180,0);	
}

function MakeMore() {
	for (var i = 0; i < 25; i++) {
		var go = Instantiate(prefab, transform.position + 4.0 * Random.insideUnitSphere, Quaternion.identity);
		go.renderer.material.SetTextureOffset("_MainTex", Vector2(0.01,0.0));
		go.transform.parent = transform;
	}
}

function OnMouseDown() {
	MakeMore();
}