Ich habe eine iOS-OpenGL-Anwendung, die die kEAGLDrawablePropertyRetainedBacking-Eigenschaft verwendet, um den aktuellen Rahmen über dem vorherigen Rahmen zu zeichnen. es ist eine billige Möglichkeit, Effekte wie Bewegungsspuren zu bekommen.
es funktioniert gut auf allen Geräten (einschließlich iPhone w / Retina) und allen Gerätesimulatoren, aber auf dem tatsächlichen iPad 3 Gerät wird der vorherige Rahmen vertikal zu 75% seiner vorherigen Größe gequetscht.
zum Beispiel, wenn ich ein 100 x 100 Quadrat am unteren Rand des Bildschirms jeden Rahmen zeichnen würde, dann habe ich in Frame 0 ein Quadrat, in Frame 2 gibt es ein Echo, das 100 x 75 ist und zum oberen Bildschirmrand versetzt, in Frame drei gibt es ein zusätzliches Echo, das 100 x 56 (56 ~ = 75 * 0,75) ist und mehr ist Offset nach oben und so weiter. Was sollte passieren, ist, dass alle Echos an Ort und Stelle bleiben.
Ich habe das Verhalten auf zwei Geräten verifiziert, also glaube ich nicht, dass es ein kaputtes iPad ist.
irgendwelche Ideen?
tia, Orion
Ich habe diesen Fehler gesehen. Ich weiß nichts über OpenGL, also konnte ich nicht wirklich damit anfangen, es mit Texturen zu lösen, wie es vorgeschlagen wurde, aber in meinem Fall war ich in der Lage auf eine sehr schnelle Implementierung von Quartz 2D Zeichnung basierend auf einem Tutorial von zu wechseln Ссылка , und wie man es auf Retina von Ссылка . Es endete tatsächlich viel schneller als der Code, den ich von Apples GLPaint-Beispielcode ausgeliehen hatte.
Dies war ein bestätigter Bug mit beibehaltener Unterstützung und dem Retina iPad in iOS 5.x. Es wurde seit iOS 6.0 und höher behoben.