Измерение Производительности при обработке графики на устройстве на iOS

Широкое применение графики в Вашем приложении для iOS может заставить Ваше приложение стоять из Вашего конкурента. Но если Вы не используете графические ресурсы ответственно, Ваше приложение будет замедляться и выглядеть посредственным независимо от того, как хороший изображения Вы пытаетесь представить.

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

Измерение Базовой Производительности при обработке графики Анимации в iOS с Базовой Анимацией прослеживает шаблон

Инструменты используют Базовый инструмент Анимации для измерения графической производительности приложения на устройстве на iOS. Базовый шаблон трассировки Анимации обеспечивает быструю и легкую начальную точку для использования этого инструмента, позволяя Вам измерению числа кадров в секунду, представленных Вашим приложением. Это позволяет Вам быстро видеть, где Ваше приложение представляет меньше, чем ожидаемые кадры. Путем корреляции, что Вы делали в то время, когда была взята выборка, можно тогда идентифицировать области кода, который должен быть улучшен.

Коррелируйте свои взаимодействия с Вашим приложением с результатами, выведенными на экран в Инструментах

На рисунке 9-1 Вы видите скачки, где частота кадров приложения становится заметно лучше. Не зная, что происходило с устройством во время этих скачков, будет естественно для Вас хотеть копировать эти более высокие частоты кадров всюду по приложению. Когда устройство было изменено между альбомной и нормальной ориентацией, Однако эти скачки были вызваны изменениями ориентации. Не зная, что изменение ориентации устройством выполнялось, Вы могли бы провести время, пытаясь найти то, что вызвало увеличение производительности и тиражирование его всюду по Вашему приложению.

  Анимация Ядра рисунка 9-1 прослеживает шаблон, показывающий скачки частоты кадров

Параметры отладки

Базовая Анимация содержит несколько полезных параметров отладки, которые могут быть позволены/отключены в области Display Settings на боковой панели инспектора. Вы не должны выполнять трассировку для наблюдения этих опций работать над устройством на iOS.

  • Цветные Смешанные Уровни. Показывает смешанные уровни представления. Многократные уровни представления, нарисованные друг на друге со смешиванием включенного, выделяются в красном. Сокращение суммы красного цвета в Вашем приложении, когда эта опция выбрана, может существенно улучшить Вашу производительность приложений. Смешанные уровни представления часто являются причиной для медленной табличной прокрутки.

  • Цветные Зеленые Хиты и Красные Промахи. Знаки просматривают в зеленом или красном цвете. Представление, которое в состоянии использовать кэшируемую растеризацию, отмечено в зеленом.

  • Цветные Скопированные Изображения. Показывает изображения, копирующиеся Базовой Анимацией синего цвета.

  • Окрасьте Сразу. Когда выбрано, удаляет задержку на 10 мс при выполнении операций цветного сброса.

  • Цветные Неправильно выровненные Изображения. Помещает пурпурное наложение по изображениям, где исходные пиксели не выровненные к целевым пикселям.

  • Окрасьте Вне экрана представленный Желтый. Помещает желтое наложение по содержанию, представляющемуся вне экрана.

  • Окрасьте OpenGL Быстрым Путем Синий. Помещает синее наложение по содержанию, отсоединяющемуся от наборщика.

  • Flash Обновленные Области. Области цветов на Вашем устройстве на iOS желтого цвета, когда та область обновляется графическим процессором.

Измерение Действия OpenGL в iOS с OpenGL Аналитический Шаблон Трассировки ES

Шаблон OpenGL ES Analysis измеряет и анализирует OpenGL действие ES для обнаружения OpenGL правильность ES и проблемы производительности. Это также предлагает Вам рекомендации для рассмотрения найденных проблем. Это состоит из OpenGL ES Анализатор и инструменты Драйвера GPU.

bullet
Заставить OpenGL ES Анализатор выдвигать предположения для Вашего приложения
  1. Создайте новый документ трассировки в Инструментах с помощью шаблона OpenGL ES Analysis. Наверху шаблонного окна выбора выберите устройство и приложение, которое Вы хотите проанализировать. Или, можно выбрать целевое устройство и приложение от панели инструментов документа трассировки, как только это создается.

    ../Art/instruments_opengl_es_analysis_template_2x.png
  2. Нажмите Кнопку записи и осуществите свой OpenGL код графики ES в Вашем приложении.

  3. После нескольких секунд измерения щелкните по Кнопке остановки и ожидайте проблем, чтобы прекратить накапливаться в подробной области.

    ../Art/instruments_opengl_es_analysis template_profiling_2x.png

Ошибки перечислены в подробной области, сортированной их серьезностью. Красные квадраты используются для “большинства серьезных” проблем, и оранжевые треугольники используются для «менее серьезных» проблем. Рекомендация и отслеживание стека выведены на экран в Расширенном Подробном инспекторе область для проблемы, выбранной в подробной области.

Нахождение Узких мест в приложении для iOS с Шаблоном Трассировки Драйвера GPU

Шаблон трассировки Драйвера GPU также используется для измерения производительности приложения и предоставляет Вам больше информации, чем просто число кадров в секунду, которые представляет Ваше приложение. Подробная область выводит на экран всю собранную информацию для определенной выборки. Выберите строку данных для просмотра его статистики в Расширенном Подробном инспекторе.

  Подробная информация рисунка 9-2 для выборки Драйвера GPU

Отдельная статистика, выведенная на экран в области дорожки, может быть позволена/отключена путем корректировки Рекордных Настроек инструмента Драйвера GPU на боковой панели инспектора.

../Art/instruments_gpu_driver_statistics_2x.png

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