Профилирование шейдеров iPhone

Я использую серию шейдеров для обработки изображений в реальном времени на iPhone (3GS/4/iPad). Фпс не такой как хотелось бы.

Существуют ли какие-либо инструменты, которые я могу использовать, чтобы помочь мне понять, в чем заключаются узкие места?


person nornagon    schedule 22.06.2010    source источник


Ответы (2)


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

Вообще говоря, для GLSL есть список распространенных ошибок GLSL на сайте OpenGL.org. . В книге O'Reilly labs "iPhone 3D Programming" есть несколько дополнительных советов, таких как избегание дорогостоящих операций в условных выражениях и наблюдение за поиском текстур.

Кроме того, это будет зависеть от того, какую обработку изображений вы выполняете; если вы пытаетесь применить тяжелые фильтры Photoshop-esqe, которые заставят четырехъядерный процессор паузы для рендеринга, это будет дорого на скромном телефоне.

person Community    schedule 23.06.2010
comment
Да, я пробовал инструменты OpenGL ES. Не очень полезно для профилирования шейдеров. И да, я знаю о врожденных проблемах с производительностью. Я просто хотел бы получить как можно больше производительности :) - person nornagon; 24.06.2010

Единственным доступным в настоящее время инструментом является редактор PVRUniSCo, который даст вам количество циклов для каждой строки кода в вашем шейдере (хотя, похоже, только в Windows).

person nornagon    schedule 07.07.2010
comment
Теперь это доступно и на Mac. Это немного неуклюжий в использовании, но его стоит использовать, действительно полезный инструмент. - person joeld; 15.06.2011