I am wondering what is the max number of polys there should be visible in a scene so that I could get a 30FPS framerate on iphone 3GS and ipad 1?
anyone have a rough idea? I remember reading that for the iphone 3G, the max limit was around 7000.
EDIT: found it in the doc:
Keep vertex count below:
40K per frame when targeting iPhone 3GS and newer devices (with SGX GPU)
10K per frame when targeting older devices (with MBX GPU)
Technically there is no max.
You will just suffer.
for pre 3GS you might want to target even lower, <= 5k-7k and even thats static.
For post 3GS there is a tad a different problem. 3GS and iPad2 are in the best situation there cause the 3GS has a gpu opted for its screen resolution and the ipad2 has so too.
The trouble devices are iphone4, itouch4 and ipad1, which are all running on the same gpu as 3GS, but have 4 / 5.2 times as many pixels which has a major impact on the fillrate allowing you to kill the framerate with a single particle emitter on 60 polys due to the overdraw if they are large enough while 50k polys can easily run fine without a problem if you didn’t use alpha at all.
Same goes for usage of realtime lights which cause overdraw with transparency and similar fillrate intense things (I would not even consider using post fx on anything below the ipad2 for this reason)
In the end: all these numbers are just theory. how much you can pull off depends heavily on how the game is done and the art. The values can vary seriously depending on that.
From our experience, you can play a 8K triangles game with 8 to 10 512x512 textures if you have < 30 Drawcalls (3GS and iPad1). As Dreamora said, overdraw can kill the iPad easilly.
This configuration brings 100% smooth framerate on A4 devices. This can be even playable on iPod Touch 2G (note the “even”).
A 60 polygon model with a particle emitter spitting out particles…ones that cover a large area of screen will knock down your framerate. These devices (3GS, iPhone4, iPad1) do have a fillrate limitation due to having the same processor as the 3GS but in cases having double or more the amount of pixels to draw on screen. It’s a best practice to limit the amount of alpha used on onscreen, and try to push polygons for that instead. Use the occlusion culling or M2H culling system here in the forums. Smartly design your levels so that a large portion not seen by the camera at any given moment is culled out. You will find if you set up the world to cull very efficiently you can actually draw a good amount of polygons per frame in areas of your world. I test on my 3GS and have found with a good culling setup I can push around 700-800 polygons at any given moment no problem. I also test on an iPad 2 which will allow far more polygons per frame to be drawn.
Hey James, just bringing up old topic - when you say “700-800 polygons at any given moment” are we talking about 700K-800K triangles here? 700 triangles seems quite low.
Yeah it is really low. It was meant to describe the lower end phones, like the iPhone 3G and stuff. I think today you can push a lot more. I was talking about playing it ridiculously safe lol.