2010-12-09 12 views
0

Nach mehreren Tests im iPad Simulator habe ich entdeckt, dass 1024x1024 16-Bit Textur im Format GL_RGBA GL_UNSIGNED_SHORT_4_4_4_4 4 MB Speicher zuweist, was 1024x1024 32 bpp ist. Derzeit kann ich dieses Verhalten nicht auf einem echten Gerät testen.iPhone Simulator: OpenGL ES: Internes Texturformat

Weiß jemand, ob RGBA 4 Bits pro Kanal nativ vom iPad unterstützt wird oder nicht?

In der Dokumentation wird empfohlen, GL_UNSIGNED_SHORT_4_4_4_4 für die Speichereffizienz zu verwenden und es wird empfohlen, den Simulator für Speichertests zu verwenden ... hier stimmt etwas nicht.

Antwort

3

Eigentlich ist die OpenGL ES Programming Guide for iOS sagen Sie zu nicht Test auf dem Simulator für die Leistung:

Wichtige: Renderleistung von OpenGL ES in Simulator hat keine Beziehung auf die Leistung von OpenGL ES auf ein tatsächliches Gerät. Simulator bietet einen optimierten Software-Rasterizer, der nutzt die Vektor Verarbeitungsfunktionen Ihres Macintosh-Computers. Als Ergebnis kann Ihr OpenGL ES Code schneller laufen oder langsamer in iOS-Simulator (je nach Ihrem Computer und was Sie sind Zeichnung) als auf einem tatsächlichen Gerät. Profilieren und optimieren Sie immer Ihren Zeichnungscode auf einem echten Gerät und gehen Sie niemals davon aus, dass Simulator reale Leistung widerspiegelt.

Im „Best Practices for Working with Texture Data“ Abschnitt dieser Führung, empfehlen sie PowerVR Texture Compression (PVRTC) Texturen anstelle von einem der unkomprimierten Formaten. Die PVRTC-Texturen benötigen weitaus weniger Speicher als jedes unkomprimierte Format (8x oder 16x weniger im Vergleich zu einer unkomprimierten 32-Bit-Textur).

In Bezug auf die 4 Bit pro Kanal, sie dies tun angeben:

Wenn Ihre Anwendung nicht komprimierte Texturen verwenden können, sollten Sie ein Format geringere Genauigkeit Pixel verwendet wird. A Textur in RGB565, RGBA5551 oder Das RGBA4444-Format verwendet die Hälfte des Speichers einer Textur im RGBA8888-Format.

+0

In der Tech-Gespräche, Standard Apple Beratung ist (i) verwenden die PVR-Formate; und (ii) nutze den Speicherplatz, der durch Erhöhen der Auflösung deiner Texturen gespart wurde. Es ist also ein viel subtilerer Kompromiss zwischen Qualität und Raum, als es sofort offensichtlich ist. – Tommy

+0

Danke. Ich weiß, dass die Leistung des Simulators aufgrund des Software-Renderings schlecht ist. Ich habe über Speicherverbrauch gesprochen. Und ja, das Gerät unterstützt 4 Bits pro Kanal, so dass das Testen der Speicherzuweisung mit dem Simulator in meinem Fall eine schlechte Idee war. Und danke, dass du mich daran erinnert hast, PVRTC zu benutzen! –

+0

@Anton - In meinen Benchmarks übertrifft der Simulator immer die aktuellen Geräte, einfach weil die Mac-Desktop-Hardware so viel leistungsfähiger ist. Die Speicherbelegungsprofile unterscheiden sich ebenfalls erheblich zwischen den Intel-basierten Mac-Desktop-Setups und den ARM-iOS-Geräten. Es macht also keinen Sinn, im Simulator Leistungstests durchzuführen. –