смешивание OpenGL и Interface Builder / UI Controls - плохая идея? Почему? (iPhone)

Я слышал, что OpenGL ES и стандартные элементы управления пользовательского интерфейса iPhone плохо работают вместе, но мне интересно, знает ли кто-нибудь, почему и каковы эффекты? Я пишу игру на основе OpenGL, и представление загружается из файла пера с элементами управления пользовательским интерфейсом, и, похоже, он работает нормально, но на данный момент игра действительно проста ... вызывает ли использование элементов управления пользовательского интерфейса некоторую производительность ударил?


person Adam    schedule 20.03.2010    source источник


Ответы (1)


События пользовательского интерфейса мгновенно приостанавливают таймеры, как при прокрутке табличного представления. Вы можете обойти это, используя обычный режим выполнения при создании таймера. Это может замедлить рендеринг, если у вас много слоев, потому что все они должны перерисовываться каждый раз при обновлении. Так что, если ваша игра работает со скоростью 60 кадров в секунду, она также перерисовывает все поверх GLView, например UIImageView, кнопки и т. Д. 60 раз в секунду, что является огромной тратой. Это может не сильно повлиять на частоту кадров, но может привести к нагреву устройства и более быстрой разрядке аккумулятора. Лучше всего рисовать ваш HUD с помощью OpenGL, но это зависит от ситуации. Для чего-то, что будет отображаться только на короткое время, например меню, я думаю, вам это сойдет с рук.

В этом нет ничего плохого, это просто расточительно.

person Martin    schedule 20.06.2011