- PVSM.RU - https://www.pvsm.ru -

Диагностика и понимание поведения графического процессора вашего приложения с помощью GAPID

Привет! Представляю вашему вниманию перевод статьи Diagnose and understand your app's GPU behavior with GAPID [1], автор — Андрей Волошин.

Разработка для 3D сложна. Независимо от того, используете ли вы собственный API-интерфейс для графики или заручитесь помощью своего любимого игрового движка, есть тысячи графических команд, которые должны идеально сочетаться для создания красивых трехмерных изображений на телефонах, настольных ПК или VR-гарнитурах.

GAPID (Graphics API Debugger) [2] — это новый инструмент, который помогает разработчикам диагностировать проблемы рендеринга и производительности с помощью своих приложений. С помощью GAPID вы можете отслеживать трассировку своего приложения и каждый шаг по каждой графической команде. Это позволяет вам визуализировать, как создается ваше окончательное изображение, и изолировать проблемные вызовы, поэтому вы тратите меньше времени на отладку через пробную версию.

GAPID поддерживает OpenGL ES на Android и Vulkan на Android, Windows и Linux.
image
Отладка в действии, один вызов за один раз

GAPID не только позволяет вам диагностировать проблемы с вашими командами рендеринга, но также выступает в качестве инструмента для быстрого проведения экспериментов и сразу же видит, как эти изменения повлияют на представленный кадр.

Вот несколько примеров, когда GAPID может помочь вам изолировать и устранить проблемы с вашим приложением:

Что делает GPU?

image
Почему мой текст не появляется ?!

Работа с графическим API может расстраивать, когда вы получаете неожиданный результат, будь то пустой экран, перевернутый треугольник или недостающая сетка. В качестве автономного отладчика GAPID позволяет отслеживать эти приложения, а затем проверять вызовы. Вы можете точно определить, какая команда произвела неверный результат, посмотрев на фреймбуфер и проверив состояние в этой точке, чтобы помочь вам диагностировать проблему.

Что произойдет, если я сделаю X?

image
Использование GAPID для редактирования шейдерного кода

Даже когда программа работает так, как ожидалось, иногда вы хотите поэкспериментировать. GAPID позволяет вам по желанию изменять API-вызовы и шейдеры, чтобы вы могли тестировать такие вещи, как:

  • Что делать, если я использовал другую текстуру на этом объекте?
  • Что, если я изменил расчет расцвета в этом шейдере?

С GAPID вы можете теперь перебирать внешний вид своего приложения, не перекомпилируя приложение или не восстанавливая свои активы.

Независимо от того, создаете ли вы потрясающую новую настольную игру с Vulkan или потрясающе впечатляющий опыт VR на Android, мы надеемся, что GAPID сэкономит вам время и поможет вам извлечь максимальную выгоду из вашего GPU. Чтобы начать работу с GAPID и посмотреть, насколько он эффективен, загрузите его [3], возьмите свое любимое приложение и запишите трассировку [4]!

Автор: Андрей Волошин, инженер-программист
Ссылка на оригинал [1]

Автор: TimMakc

Источник [5]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/razrabotka-pod-android/271185

Ссылки в тексте:

[1] Diagnose and understand your app's GPU behavior with GAPID: https://android-developers.googleblog.com/2017/12/diagnose-and-understand-your-apps-gpu_13.html

[2] GAPID (Graphics API Debugger): https://developers.google.com/vr/develop/android/gapid

[3] загрузите его: https://github.com/google/gapid/releases

[4] запишите трассировку: https://google.github.io/gapid/tutorials/capturetrace

[5] Источник: https://habrahabr.ru/post/345166/?utm_source=habrahabr&utm_medium=rss&utm_campaign=sandbox