Игра-головоломка OpenGL-ES - сделать рисование эффективным? - PullRequest
0 голосов
/ 05 августа 2011

У меня есть игра для iPhone, которая в основном закончена, но я трачу некоторое время на профилирование, так как хочу снизить энергопотребление до минимума, но я новичок OpenGL ES, поэтому я ищу для некоторых указателей.

Игра довольно простая игра-головоломка, поэтому 90% времени доска перерисовывается без причины. На данный момент у меня есть «грязный» флаг, и я отрисовываю только что-либо, если он установлен, но затем я рисую все , когда большую часть времени нуждается в обновлении только крошечной части доски (то есть таймера или одна из частей).

Существует ли общая стратегия использования с OpenGL только для обновления частей экрана, или предполагается, что вы хотите перерисовывать все постоянно?

1 Ответ

3 голосов
/ 05 августа 2011

Ваше приложение должно подождать, пока что-то в сцене изменится, прежде чем рендерить новый кадр.Базовая анимация кэширует последнее изображение, представленное пользователю, и продолжает отображать его, пока не будет представлен новый кадр. Поэтому вам не нужно каждый раз рисовать, просто проверяйте наличие обновлений и рисуйте только при наличии какого-либо обновления.РЕДАКТИРОВАТЬ: Для более подробной информации обратитесь к руководству по программированию OpenGLES - вот [ссылка] http://developer.apple.com/library/ios/#documentation/3DDrawing/Conceptual/OpenGLES_ProgrammingGuide/Performance/Performance.html

...