I have just started my first project for the iPad, and had problems with performance much earlier than expected. Not doing anything fancy and adhering to the general tips.
However, what apparently makes a massive difference in terms of rendering performance is which architecture I build for. ES1.1 (armv6) seems to perform much better than the 2.0 version.
Can anyone elaborate on the difference between the two and why it seems like 1.1 armv6 is the one to use? Also, are we required to buld for armv7 in any way?
Many thanks in advance for any information!
BTW - Sorry for the ignorance, have searched high and low. :)
OpenGL ES 2.0 allows for fancier graphical effects such as per-pixel lighting, reflective surfaces, and overall better shader support.
If you set your target platform to universal armv6 + armv7, it will use OpenGL ES 2.0 if available, and fallback to OpenGL ES 1.1 if not.
iPhone 3GS, iPhone 4, and iPad are all OpenGL ES 2.0 capable. I am not familiar with the iPod touch devices, but most likely the new generations of iPod touches are also OpenGL ES 2.0 capable.
All of them however, have backwards compatibility for OpenGL ES 1.1 so if you don't need the extra fancy effects, it will be better for you to set your platform to armv6 only to reduce the binary app size.