Привет, Хабр! Представляю вашему вниманию перевод статьи Diagnose and understand your app's GPU behavior with GAPID, автор — Андрей Волошин.
Разработка для 3D сложна. Независимо от того, используете ли вы собственный API-интерфейс для графики или заручитесь помощью своего любимого игрового движка, есть тысячи графических команд, которые должны идеально сочетаться для создания красивых трехмерных изображений на телефонах, настольных ПК или VR-гарнитурах.
GAPID (Graphics API Debugger) — это новый инструмент, который помогает разработчикам диагностировать проблемы рендеринга и производительности с помощью своих приложений. С помощью GAPID вы можете отслеживать трассировку своего приложения и каждый шаг по каждой графической команде. Это позволяет вам визуализировать, как создается ваше окончательное изображение, и изолировать проблемные вызовы, поэтому вы тратите меньше времени на отладку через пробную версию.
GAPID поддерживает OpenGL ES на Android и Vulkan на Android, Windows и Linux.

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

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

Использование GAPID для редактирования шейдерного кода
Даже когда программа работает так, как ожидалось, иногда вы хотите поэкспериментировать. GAPID позволяет вам по желанию изменять API-вызовы и шейдеры, чтобы вы могли тестировать такие вещи, как:
С GAPID вы можете теперь перебирать внешний вид своего приложения, не перекомпилируя приложение или не восстанавливая свои активы.
Независимо от того, создаете ли вы потрясающую новую настольную игру с Vulkan или потрясающе впечатляющий опыт VR на Android, мы надеемся, что GAPID сэкономит вам время и поможет вам извлечь максимальную выгоду из вашего GPU. Чтобы начать работу с GAPID и посмотреть, насколько он эффективен, загрузите его, возьмите свое любимое приложение и запишите трассировку!
Автор: Андрей Волошин, инженер-программист
Ссылка на оригинал
Разработка для 3D сложна. Независимо от того, используете ли вы собственный API-интерфейс для графики или заручитесь помощью своего любимого игрового движка, есть тысячи графических команд, которые должны идеально сочетаться для создания красивых трехмерных изображений на телефонах, настольных ПК или VR-гарнитурах.
GAPID (Graphics API Debugger) — это новый инструмент, который помогает разработчикам диагностировать проблемы рендеринга и производительности с помощью своих приложений. С помощью GAPID вы можете отслеживать трассировку своего приложения и каждый шаг по каждой графической команде. Это позволяет вам визуализировать, как создается ваше окончательное изображение, и изолировать проблемные вызовы, поэтому вы тратите меньше времени на отладку через пробную версию.
GAPID поддерживает OpenGL ES на Android и Vulkan на Android, Windows и Linux.

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

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

Использование GAPID для редактирования шейдерного кода
Даже когда программа работает так, как ожидалось, иногда вы хотите поэкспериментировать. GAPID позволяет вам по желанию изменять API-вызовы и шейдеры, чтобы вы могли тестировать такие вещи, как:
- Что делать, если я использовал другую текстуру на этом объекте?
- Что, если я изменил расчет расцвета в этом шейдере?
С GAPID вы можете теперь перебирать внешний вид своего приложения, не перекомпилируя приложение или не восстанавливая свои активы.
Независимо от того, создаете ли вы потрясающую новую настольную игру с Vulkan или потрясающе впечатляющий опыт VR на Android, мы надеемся, что GAPID сэкономит вам время и поможет вам извлечь максимальную выгоду из вашего GPU. Чтобы начать работу с GAPID и посмотреть, насколько он эффективен, загрузите его, возьмите свое любимое приложение и запишите трассировку!
Автор: Андрей Волошин, инженер-программист
Ссылка на оригинал