Ich glaube, dass Sie von der Verwendung einer texture atlas profitieren würden, eine riesige Textur, die alle Ihre kleineren enthält. Für OpenGL ES auf dem iPhone, Apple recommends, dass Sie alle Scheitelpunkte, die Sie gleichzeitig in einem Vertex Buffer Object (VBO) zeichnen können, und dass Sie die Scheitelpunkt-, Normal-, Farb- und Texturinformationen innerhalb dieses Puffers verschachteln (in diese Reihenfolge). Beachten Sie, dass der VBO selbst keine wesentliche Leistungssteigerung gegenüber einem Standard-Array auf den ursprünglichen iPhones bietet, das 3GS jedoch Hardware-VBO-Unterstützung bietet.
Entweder durch Gruppieren von Daten in eine VBO oder ein Array habe ich in meiner Anwendung deutliche Leistungsverbesserungen festgestellt, als ich die Anzahl der Zeichenaufrufe reduzierte.
Ein anderer Bereich, den Sie betrachten sollten, ist die Reduzierung der Größe Ihrer Geometrie. Indem ich von einem GLfloat zu GLshort für meine Eckpunkt- und normalen Koordinatendaten wechselte, sah ich eine über 30% ige Verbesserung der OpenGL ES-Rendering-Geschwindigkeit auf dem iPhone 3G.
Darüber hinaus könnte es sich lohnen, diese Präsentation von ngmoco zu überprüfen: Übersicht über iPhone OpenGL-Optimierungstechniken - http://gamemakers.ngmoco.com/post/111712416/ Stanford-Universität-und-Apfel-waren-genug-zu- – Dave
Einverstanden. Das ist eine hervorragende Präsentation, wenn es um die Optimierung von OpenGL ES geht. –