Разница между CoreAnimation и инструментом драйвера OpenGL ES - iPhone - PullRequest
2 голосов
/ 11 апреля 2011

Я пытаюсь выполнить тест производительности моего нового приложения с CoreAnimation и OpenGL ES Driver Instrument.Оба инструмента дают мне одинаковую информацию.Итак, я запутался в назначении каждого инструмента.Мое приложение - это обычное приложение, это не игра, и я не использую какой-либо код openGL.Имеет ли смысл запускать инструмент драйвера OpenGL ES в моем приложении?

Я прочитал со страницы Apple о OpenGL ES Driver: инструмент OpenGL ES Driver запрашивает драйвер графического процессора на устройстве iOSдля выборки статистики OpenGL для одного процесса.Этот инструмент помогает определить, насколько эффективно вы используете OpenGL и графический процессор на устройстве.

На странице Apple также указано, что OpenGL ES Driver даст мне много информации, но я не вижу ни одной из них: Context Count, Command Buffer Allocated Bytes, Command Buffer Submitted Bytes, Command Buffer Submit Count, Command Buffer Render Count

Ответы [ 2 ]

4 голосов
/ 11 апреля 2011

Чтобы ответить на ваш второй вопрос, вы можете включить отслеживание дополнительной статистики в инструменте драйвера OpenGL ES, нажав маленькую кнопку i на правой стороне инструмента, затем выбрав кнопку Configure в этом всплывающем окне.,Вам будет представлен список статистики, для которой вы можете включить отслеживание.

После того, как вы выбрали элементы для мониторинга, нажмите Done, и вы вернетесь в исходное всплывающее окно.Там включите точную статистику, которую вы хотели бы видеть отображаемой на диаграмме и в таблице, установив соответствующие флажки.

На следующем этапе ведения журнала эти дополнительные элементы будут отслеживаться.Это может помочь вам отладить проблемы производительности OpenGL, такие как ограничение скорости заполнения или геометрии, но я еще не использовал это для профилирования Core Animation.Точные инструменты, которые вы можете включить в инструменте Core Animation (Color Blended Layers, Color Misaligned Images и т. Д.), Как правило, лучше для этого.

3 голосов
/ 11 апреля 2011

Core Animation - это платформа более высокого уровня, которая использует OpenGL ES на iPhone. Так что приложение, которое использует Core Animation, косвенно использует OpenGL ES. Инструмент OpenGL ES Driver может рассказать вам некоторую интересную информацию о том, как Core Animation использует графический процессор на iPhone. Тем не менее, эта информация вряд ли будет действенной. Непосредственная оптимизация кода OpenGL потребует изменения кода Apple.

Итак, чтобы прямо ответить на ваш вопрос: Нет, нет смысла запускать инструмент драйвера OpenGL ES в приложении, которое не содержит ваш собственный код OpenGL.

...