В настоящее время я работаю над игрой OpenGL и недавно начал рефакторинг для поддержки iPhone в дополнение к iPad. Пытаясь дать себе как можно меньше работы, я просто изменил размер содержащего EAGLView до 480 x 360 (чтобы сохранить соотношение сторон iPad) и сдвинул представление вверх, чтобы исходное начало было на -20 (чтобы центрировать контент , а так как края могут быть обрезаны).Проблема с производительностью OpenGL ES, когда UIView частично вне экрана
Я обнаружил, что это привело к рывкам на устройстве (несмотря на то, что канал CADisplay сообщает о продолжительности кадра, равном 59-61 кадра в секунду) и был по меньшей мере на 20% медленнее, когда сравнивался бок о бок с версией iPad.
Затем я попытался изменить размер изображения на размер экрана 480 x 320, а производительность вернулась в нормальное состояние (хотя отображаемый контент больше не имеет правильного соотношения сторон).
Почему рендеринг 'off screen' приводит к удару по производительности и почему дисплейная линия все еще думает, что она работает со скоростью 60 кадров в секунду?
Любые идеи? Спасибо
Спасибо за ответ, я закончил настройку видового экрана, как вы сказали, и теперь он бежит, как сон. – Weaverfish
Рад услышать это ... –