Диагностика и отчет о проблемах
В этой главе в основном описываются проблемы, которые могут возникнуть при создании AR-приложений, основные методы анализа, а также информация и каналы связи, которые необходимо собрать при отправке отчета о проблеме.
Сложности анализа проблем в AR-сценариях
Анализ проблем в AR-сценариях имеет несколько уникальных сложностей.
Неопределенность входных данных
В традиционных приложениях входные данные обычно являются определенными кликами или событиями клавиатуры. В AR входные данные поступают из изменяющейся физической среды, что значительно усложняет анализ. AR-приложения должны использоваться вместе с физической средой, но во время разработки и тестирования невозможно каждый раз получать одинаковый ввод в физической среде. Даже при движении по одному и тому же маршруту изображения камеры и данные датчиков, таких как акселерометр и гироскоп, могут изменяться, и эти изменения могут сильно влиять на результаты tracking.
EasyAR предоставляет функции записи и воспроизведения EIF-файлов, что в некоторой степени уменьшает неопределенность входных данных. Однако из-за неопределенности алгоритмов окончательный результат tracking по своей природе остается неопределенным. Кроме того, неполное покрытие записанных EIF-данных, изменения освещения и динамические перекрытия пешеходами или транспортом также могут влиять на качество tracking при реальном использовании.
Неопределенность алгоритмов
Основные алгоритмы AR — это визуальные алгоритмы, например SLAM (simultaneous localization and mapping). По своей природе эти алгоритмы вероятностные, а не детерминированные.
Когда во входном изображении камеры отсутствуют выраженные признаки, алгоритм может использовать исторические position и pose, а также данные датчиков, таких как акселерометр и гироскоп, для прогнозирования. Прогнозируемые position и pose со временем накапливают ошибку и создают drift. Каждый результат прогнозирования связан с внешними факторами, такими как момент поступления данных, температура устройства, частота CPU и скорость передачи по сети. Эти факторы динамически меняются, поэтому даже при одинаковом вводе результаты нескольких запусков могут сильно различаться.
Методы анализа разных проблем
Для разных проблем могут требоваться разные методы анализа.
Логи
Для случаев, когда программа работает ненормально, например черный экран, невозможность localization или нормального tracking, базовый метод — просмотреть логи и проверить наличие сообщений об ошибках. Логи, создаваемые EasyAR, используют специальные теги для удобного распознавания.
Сбои
Иногда программа может аварийно завершаться. Место сбоя может находиться в коде библиотеки или в собственном коде программы. Причиной сбоя может быть проблема в самой программе или проблема в библиотеке.
Визуальные аномалии, такие как дрожание и скачки
Из-за точности данных датчиков или адаптации алгоритма может возникать дрожание или скачки localization. В этом случае попробуйте воспроизвести проблему на разных устройствах и сделайте скриншоты, записи экрана и EIF-файлы.
Руководства для платформ
Диагностика и отчет о проблемах тесно связаны с платформой. В соответствии с целевой платформой обращайтесь к следующим руководствам:
- Анализ логов Android
- Анализ логов iOS/macOS/visionOS
- Анализ логов Windows
- Анализ сбоев Android
- Анализ сбоев iOS/macOS/visionOS
- Анализ сбоев Windows
- Анализ визуальных аномалий, таких как дрожание и скачки: скриншоты и запись экрана
- Анализ визуальных аномалий, таких как дрожание и скачки: запись экрана XR-гарнитур
- Анализ визуальных аномалий, таких как дрожание и скачки: воспроизведение аномалий с помощью EIF
- Введение в Unity
- Сообщения UI Unity
- Режим разработчика Unity
- Unity запись файлов EED dump
- Отчет о проблеме Unity
- Справочник компонента Unity Diagnostics Controller