From my (limited) experience with the iPhone, I’ve found that poly count has very little bearing on performance compared to the actual number of objects on screen (and in memory) as well as what said objects are doing. For instance, I’ve seen a 20,000 poly terrain rotate at 30 fps. In contrast, I’ve seen 10 200 poly objects hover around 15. Both examples are a far cry from this imaginary 7,000 poly limit.
The graphics power (and memory) of the iPhone and Touch are pretty impressive actually, but the GPU is dog slow and kills performance when you start adding more objects. Obviously physics and AI are going to have an effect on performance, but I’m just kind of curious where this
Since it’ll be a couple months before I can even test Unity, these figures are not from Unity directly but I imagine they’re comparable.
I am curious how much of the 20,000 poly terrain was visible at once? Was all of it or just certain sections?
From what I have seen written about this it does depend a lot on what objects are doing and also on how many draw calls. I think the 7,000 poly count is more of a safety zone than a hard “imaginary 7,000 poly limit” - kind of like going to the ocean as kids and being told not to go in the water above your belly button. The iPhone is certainly capable of more than that and I am pretty sure Unity is too, but I think it is a reasonable guideline to aim for in developing. The warehouse example is pretty expansive and detailed (and looks great) but there are rarely more than 7k on the screen at one time. Have you seen that?
First, we are not talking about 7000 polygons, but rather 7000 vertices.
Second, as stated in the Unity iPhone manual this vertex count value represents more of a guideline to ensure a “per frame” optimal frame rate (20-30 fps):
As you have noticed yourself, Greg-J, the number of per-scene polygons has little significance on the framerate. Yangmeng duly noted that the number of polygons on screen does however matter, and taking a look at the Occlusion Culling feature page will help you get your feeling down to a science
I’m putting the finishing touches on a 2d game that never has more than a couple hundred verts on screen due to using nothing but textured planes for my graphics and UI, and I can verify that there’s a lot more to worry about when optimizing your game than just how many polys are on screen. For my project, the number of skinned meshes animating at once, and optimizing my scripts were both far more impactful than worrying about vert counts or texture resolution.