iOS OpenGL ES-Bildschirmrotation, während Hintergrund-Apps sichtbar sind

Meine App verwendetGLKit 3D Szene rendern mitOpenGL ES.

Alles funktioniert gut, bis auf eine Sache. Wenn ich meine App auf dem iPad starte und die Hintergrund-App-Leiste anzeige (mit einem Doppelklick auf die Schaltfläche "Home") und dann die Ausrichtung des Geräts ändere, wird die Szene falsch aktualisiert (das zuletzt gerenderte Bild wird einfach gestreckt, um ein neues Rechteck zu füllen).

Ich habe den Grund gefunden. Wenn die Hintergrund-App-Leiste angezeigt wird,GLKViewController's paused ist eingestellt aufYES automatisch (Anwendungsdelegierter erhält-applicationWillResignActive:) und kein Rendern erfolgt, bis diese Leiste geschlossen wird.

Ich habe in Apple-Handbüchern gefunden (OpenGL ES-Programmierhandbuch für iOS / Implementieren einer Multitasking-fähigen OpenGL ES-Anwendung) dass nach Erhalt-applicationWillResignActive: Die Anwendung sollte das Rendern des Hauptbuchs stoppen oder wird beendet. Es scheint also alles in Ordnung zu sein, außer schlechtem Rendering nach dem Drehen :)

Ich habe einige OpenGL-Spiele überprüft. Sie wurden auch "pausiert", als dieser Balken angezeigt wurde, aktualisierten jedoch die pausierte Szene bei der Gerätedrehung irgendwie korrekt. Wie erreichen sie das?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage