title: Is glDrawElements() more efficient than glDrawArrays() when there are many duplicate vertices?
body: <p>I'm trying to squeeze some performance increases out of my iPhone OpenGL ES application.  According to Instruments, my tiler utilization is near 100% most of the time, and my FPS is about 24.  I'd like to get my FPS up over 30.  I can get there by converting from GL_FLOAT to GL_SHORT, but that presents some fairly daunting technical problems for me at the moment.  I'd rather not go there.</p>
  
  <p>So, I'm considering switching from glDrawArrays() to glDrawElements().  I have 35 meshes made up of 708 vertices, but a lot of those vertices are shared between faces.  I am texture mapping but the mesh is mostly uniform in color.  The faces that require special texturing will be left as is.</p>
  
  <p>Let's say I can cut the number of vertices in half.  Let's also say that I also organize my geometry in a way that makes sense for the iPhone: say, using Imagination Technologies PVRTTriStrip tool.  Ignoring the small amount of extra memory for the index array, that means I've roughly cut the memory bandwidth in half so I should see a fairly nice performance increase.</p>
  
  <p>Is this true, or am I missing or misunderstanding something?  Advice is appreciated.</p>