Поворот экрана iOS OpenGL ES при отображении панели фоновых приложений

Мое приложение используетGLKit визуализировать 3D-сцену сOpenGL ES.

Все отлично работает, кроме одного. Когда я запускаю свое приложение на iPad и отображаю фоновую панель приложений (с двойным нажатием кнопки «Домой»), а затем меняю ориентацию устройства, сцена обновляется неправильно (последнее визуализированное изображение просто растягивается, чтобы заполнить новый прямоугольник).

Я нашел причину. Когда появляется панель фоновых приложений,GLKViewController's paused установлен вYES автоматически (делегат приложения получает-applicationWillResignActive:) и никакой визуализации не происходит, пока этот бар не будет закрыт.

Я нашел в руководствах Apple (Руководство по программированию OpenGL ES для iOS / Реализация приложения OpenGL ES, поддерживающего многозадачность) что после получения-applicationWillResignActive: приложение должно остановить рендеринг GL или будет прекращено. Похоже, все в порядке, кроме плохого рендеринга после поворота :)

Я проверил некоторые игры OpenGL. Они также становились «приостановленными», когда отображалась эта строка, но каким-то образом корректно обновляли приостановленную сцену при повороте устройства. Как они этого добиваются?

Ответы на вопрос(2)

Ваш ответ на вопрос