смешивать OpenGL и Interface Builder / UI Controls - плохая идея? Зачем? (IPhone) - PullRequest
1 голос
/ 20 марта 2010

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

1 Ответ

2 голосов
/ 21 июня 2011

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...