Optimizing number of characters per scene on iOS


I have 10 different 3D character models, around 500-1000 polygons each, textured with 256x256 texture. Now what I want to do is to have in total ~200 characters running in my scene at the same time. Imagine strategy or tower defense games where there are multiple units of the same type on the screen.

Running 100 instances of ONE character on iPad 2 I get around 25-35 FPS, thats a lot worse than I’ve expected. Basically iPad processes around 500000-1000000 polygons (1 character of 500-1000 polygons x 1000 instances of the same model/texture). Is there any way to optimise the rendering without a huge hit to performance? Am I missing something (particle systems seem like doing the same thing for textures)?


Thanks, but this seems to be more suited for 2D textures/objects where I have 3D models. I doubt the same system can be used for 3D objects because in the end I still have high poly count per scene (due to number of characters). Am I missing something?