Идентификация и решение проблем производительности

Монитор Драйвера OpenGL не является основным инструментом для анализа проблем производительности в приложении OpenGL. Это - резервный инструмент, который используют эксперты, когда Инструменты и Профилировщик OpenGL не показывают причину проблемы производительности. Эта глава предполагает, что Вы уже использовали другие инструменты Apple для анализа приложения OpenGL.

Стратегии, описанные здесь, могут помочь Вам идентифицировать наиболее распространенные проблемы, происходящие в приложениях OpenGL. Следует иметь в виду, что анализ трудных проблем производительности является большим количеством искусства, чем наука. Несмотря на то, что Вы захотите запуститься с этих основных стратегий, необходимо будет разработать дополнительные, адаптированные в соответствии с типом проблемы, которую Вы видите, и к тому, пытаетесь ли Вы решить проблему драйвера или приложение один.

Проверка методы наиболее успешной практики

Прежде чем Вы начнете использовать Монитор Драйвера OpenGL в качестве аналитического инструмента, это - хорошая идея проверить Ваш код, чтобы видеть, следуете ли Вы за новыми методами наиболее успешной практики для использования OpenGL. См.:

Проверка скоростей передачи данных

Для проверки скоростей передачи данных контролируйте следующее:

Проверка субоптимальную разбивку на страницы поверхности и текстуры

Необходимо удостовериться, что приложение не является текстурой разбивки на страницы и поверхностными данными излишне. Когда это действительно разбивает на страницы, необходимо использовать ускоренный графический порт (трасса AGP, которая также известна как передача DMA). Non-AGP передает медленную производительность. Можно проверить на менее оптимальную разбивку на страницы путем рассмотрения этих параметров:

Передача Non-AGP приемлема, только если необходимо переупорядочить данные или выровнять их. Если возможно, используйте этот тип передачи данных во время инициализации а не во время цикла рендеринга.

Если Ваше приложение имеет большое действие разбивки на страницы, является ли это AGP или non-AGP, рассмотрите использование объектов кадрового буфера.