Если коротко:

Краткий ответ на запрос «OpenXR debug utils» дан с опорой на официальные источники; конкретная совместимость и версии требуют проверки перед действием.

Для чего нужны Debug Utils

OpenXR debug utils, расширение XR_EXT_debug_utils для диагностических сообщений OpenXR. Оно помогает приложению получить сообщения runtime о некорректных вызовах, но не измеряет производительность и не исправляет ошибки автоматически.

Расширение не относится к обязательному ядру API. При запуске приложение перечисляет доступные расширения runtime и добавляет XR_EXT_debug_utils при создании instance только при наличии поддержки.

Messenger и callback

После создания instance можно создать messenger через xrCreateDebugUtilsMessengerEXT. Ему задают фильтры по серьёзности и типу сообщения, а callback сохраняет контекст, достаточный для воспроизведения: версию приложения, runtime, вызов и текст диагностики. В callback не стоит выполнять тяжёлую работу или менять критическую логику приложения.

Фильтрация важна для рабочего журнала. Предупреждения полезны при разработке, но постоянный поток низкоприоритетных сообщений способен скрыть событие, требующее исправления.

Практический порядок

  1. Получите список instance extensions.
  2. Включите Debug Utils только при наличии XR_EXT_debug_utils.
  3. Создайте messenger согласно спецификации и настройте фильтры.
  4. Воспроизведите проблемный вызов и сохраните минимальный журнал с версиями.
  5. Проверьте поведение без расширения и уберите из релизной конфигурации лишний диагностический шум.

В Unity OpenXR доступна соответствующая feature, однако параметры зависят от версии установленного пакета. Код и настройку следует сверять именно с документацией этой версии и тестировать на целевом runtime.

Источники

Поделиться:TelegramВКонтакте

Источники

  1. registry.khronos.org
  2. registry.khronos.org
  3. docs.unity3d.com