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?