There has been quite a buzz about rendering performance between indexed triangles or triangle strips. But I believe there is a case that has not been considered enough.
Indexed triangles are rendered like this in OpenGl:
glDrawElements(GL_TRIANGLES, ...);
But for some reason a lot of people consider rendering strips only in this way:
glDrawArrays(GL_TRIANGLE_STRIP, ...);
Out there there are some very good indexers (Forsyth, Tipsify to name a few) that optimize your mesh to be convenient for the GPU transform cache to be rendered in GL_TRIANGLES mode. Ideally they can achieve like 0.5 rendered vertices per triangle or something like that.
But why not doing this?
glDrawElements(GL_TRIANGLE_STRIP, ...);
I mean, you combine the low index bandwidth of strip rendering with the efficient GPU transform cache usage that the above indexers provide. With few modifications, am I right in saying that a strip indexer that optimizes the strip to be also Tcache-friendly can be a good idea?
Probably it won't reach the 0.5 goal, but at least a 0.6 perhaps? Also, don't forget the massive index bandwidth gain (potentially one third against GL_TRIANGLES).