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

в 12:24, , рубрики: перевод с английского, Разработка под android

Привет! Представляю вашему вниманию перевод статьи 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.
image
Отладка в действии, один вызов за один раз

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

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

Что делает GPU?

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

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

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

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

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

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

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

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

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

Автор: TimMakc

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js