Low Performance when drawing many objects

I’m making a demo where there is a stadium filled with supporters (fans, audience, as you wish). I’ve been having performance issues with this, so I ended up making each supporter as a billboard, that is, a rectangle formed by 2 triangles. I even took out the texture, so it’s a stadium filled with 10.000 white rectangles.

When they are disabled I get 60fps, enabled I get 35fps, a 41.6% fall.

Rendering Profiler doesn’t show many differences between supporters on/off (using the default ‘fastest’ configuration). Triangles count and draw calls almost don’t change, batched comes from zero to 3550. However, CPU Profiler indicates that the performance fall comes from rendering.

I instantiate those rectangles in the Start method of script like this:

var go = (GameObject) Instantiate(audience, position, rotate);

I’m using the Difuse shader.

What is causing this, or how could I investigate further?

Having 10000 individual objects will kill the framerate, yes (whether they have a texture or not will make little or no difference). You probably have vsync on, so it’s likely the performance drop is greater than 41.6%. Rather than separate objects, it should be just one object, like a particle system.