Diagnostic et rapport de problèmes
Ce chapitre décrit principalement les problèmes susceptibles d'être rencontrés lors de la création d'applications AR, les principales méthodes d'analyse, ainsi que les informations et moyens de contact à recueillir lors d'un rapport de problème.
Défis de l'analyse des problèmes dans les scénarios AR
L'analyse des problèmes dans les scénarios AR présente des défis particuliers.
Incertitude des entrées
Dans les applications traditionnelles, les entrées sont généralement des clics ou événements clavier déterministes. En AR, les entrées proviennent toutefois d'un environnement physique changeant, ce qui rend l'analyse beaucoup plus difficile. Les applications AR doivent être utilisées avec l'environnement physique, mais pendant le développement et les tests il est impossible d'obtenir à chaque fois les mêmes entrées dans cet environnement. Même en suivant le même itinéraire, les images de caméra et les données de capteurs comme l'accéléromètre et le gyroscope peuvent varier, et ces variations peuvent fortement affecter les résultats de tracking.
EasyAR fournit des fonctions d'enregistrement et de playback de fichiers EIF, qui peuvent atténuer dans une certaine mesure l'incertitude des entrées. Cependant, en raison de l'incertitude des algorithmes, le résultat final de tracking reste intrinsèquement incertain. De plus, une couverture incomplète des données enregistrées EIF, les changements d'éclairage et les occlusions dynamiques causées par des piétons ou véhicules peuvent également affecter la qualité du tracking en usage réel.
Incertitude de l'algorithme
Les algorithmes centraux de l'AR sont des algorithmes visuels, comme SLAM (simultaneous localization and mapping). Ces algorithmes sont probabilistes par nature, et non déterministes.
Lorsque l'image caméra en entrée manque de caractéristiques significatives, l'algorithme peut utiliser la position et la pose historiques ainsi que des données de capteurs comme l'accéléromètre et le gyroscope pour prédire. Les résultats prédits de position et de pose s'accumulent au fil du temps et produisent du drift. Chaque résultat de prédiction est lié à des facteurs externes comme le moment d'arrivée des données, la température de l'appareil, la fréquence CPU et la vitesse de transmission réseau. Ces facteurs évoluent dynamiquement, si bien que même avec la même entrée, les résultats de plusieurs exécutions peuvent beaucoup différer.
Méthodes d'analyse pour différents problèmes
Des problèmes différents peuvent nécessiter des méthodes d'analyse différentes.
Logs
Lorsque le programme ne fonctionne pas normalement, par exemple écran noir, échec de localization ou échec du tracking normal, la méthode la plus basique consiste à consulter les logs et vérifier s'il existe des messages d'erreur. Les logs générés par EasyAR utilisent des tags spécifiques pour faciliter l'identification.
Crashs
Il arrive que le programme crashe. L'emplacement du crash peut se trouver dans le code de la bibliothèque ou dans le code du programme lui-même. La cause peut être un problème du programme ou un problème de la bibliothèque.
Anomalies visuelles comme jitter et sauts
En raison de la précision des données de capteurs ou de l'adaptation de l'algorithme, un jitter ou des sauts de localization peuvent survenir. Dans ce cas, essayez de reproduire le problème sur différents appareils, puis capturez des screenshots, des enregistrements d'écran et des fichiers EIF.
Guides propres aux plateformes
Le diagnostic et le rapport de problèmes sont étroitement liés à la plateforme. Selon votre plateforme cible, consultez les guides suivants pour le développement :
- Analyse des logs for Android
- Analyse des logs for iOS/macOS/visionOS
- Analyse des logs for Windows
- Analyse des crashs for Android
- Analyse des crashs for iOS/macOS/visionOS
- Analyse des crashs for Windows
- Analyse des anomalies visuelles comme jitter et sauts: captures et enregistrements d'écran
- Analyse des anomalies visuelles comme jitter et sauts: enregistrement d'écran pour casques XR
- Analyse des anomalies visuelles comme jitter et sauts: reproduire les anomalies avec EIF
- Introduction à Unity
- Messages UI Unity
- Mode développeur Unity
- Unity enregistrer des fichiers EED dump
- Unity issue report
- Unity Diagnostics Controller référence de composant