Я использую серию шейдеров для обработки изображений в реальном времени на iPhone (3GS/4/iPad). Фпс не такой как хотелось бы.
Существуют ли какие-либо инструменты, которые я могу использовать, чтобы помочь мне понять, в чем заключаются узкие места?
Я использую серию шейдеров для обработки изображений в реальном времени на iPhone (3GS/4/iPad). Фпс не такой как хотелось бы.
Существуют ли какие-либо инструменты, которые я могу использовать, чтобы помочь мне понять, в чем заключаются узкие места?
Я предполагаю, что вы уже знаете, что тесты производительности в симуляторе бесполезны и что вы тестируете на реальном металле, поэтому Инструменты — это всегда хорошая отправная точка, особенно в вашем случае вас могут заинтересовать инструменты OpenGL ES
и OpenGL ES Analyzer
.
Вообще говоря, для GLSL есть список распространенных ошибок GLSL на сайте OpenGL.org. . В книге O'Reilly labs "iPhone 3D Programming" есть несколько дополнительных советов, таких как избегание дорогостоящих операций в условных выражениях и наблюдение за поиском текстур.
Кроме того, это будет зависеть от того, какую обработку изображений вы выполняете; если вы пытаетесь применить тяжелые фильтры Photoshop-esqe, которые заставят четырехъядерный процессор паузы для рендеринга, это будет дорого на скромном телефоне.
Единственным доступным в настоящее время инструментом является редактор PVRUniSCo, который даст вам количество циклов для каждой строки кода в вашем шейдере (хотя, похоже, только в Windows).