Pour créer des expériences utilisateur en RA convaincantes, il est important que vos applications l'application fonctionne bien.
Assurez-vous que votre application:
- Se sent réactif aux entrées utilisateur, y compris les gestes tactiles et l'appareil du mouvement.
- S'affiche à une fréquence d'images raisonnable et cohérente. Les utilisateurs en général préfèrent des fréquences d'images cohérentes et inférieures aux fréquences d'images variable et supérieure.
- Minimise la décharge de la batterie, ce qui permet à l’utilisateur d’utiliser son appareil pour d’autres tâches tout au long de la journée, ou interagir plus longtemps avec la RA.
- Conçoit une expérience de RA attrayante dans laquelle le contenu généré par RA apparaît stable par rapport à l'environnement et s'intègre de façon réaliste environnement.
Bonnes pratiques en matière de performances
Pour créer des expériences de RA plus attrayantes, utilisez les outils suivants ces pratiques à l’esprit.
Utiliser des ancres pour améliorer les performances de suivi
Même s'il est possible de positionner votre contenu 3D à partir des coordonnées de l'espace, Utilisez toujours une ancre chaque fois que possible. ARCore garantit que les ancres semblent stables par rapport au monde, même si le les coordonnées sous-jacentes de l'espace mondial changent et peuvent sauter au fil du temps chaque fois qu'ARCore met à jour sa compréhension du monde.
Les objets virtuels qui ne sont pas attachés à une ancre apparaîtront parfois pour et ne semble pas stable par rapport à l'environnement. Cela peut rendre L'expérience de RA est moins attrayante pour les utilisateurs.
Tenir compte des caractéristiques de performances propres à chaque appareil
Les appareils compatibles ARCore couvrent un large éventail d'appareils. des caractéristiques matérielles et de performances. Les performances de l'appareil peuvent varier pour les raisons suivantes:
- Processeur/GPU de l'appareil, vitesse d'horloge
- Mémoire et bande passante disponibles
- Qualité du capteur de l'appareil photo/de l'IMU
- Autres différences matérielles
- Pilotes de système d'exploitation et d'appareils
Nous vous recommandons de tester votre application sur différentes classes d'appareils représentatif des appareils que vos utilisateurs utiliseront.
Désactiver les fonctionnalités nécessitant une utilisation intensive des processeurs lorsqu'elles ne sont pas utilisées
Certaines fonctionnalités ARCore augmentent l'utilisation du processeur lorsqu'elles sont activées. Envisagez d'utiliser désactiver ces fonctionnalités lorsque votre expérience de RA ne nécessite pas de l'IA générative. Cela mettra des cycles de processeur supplémentaires à la disposition de votre application et améliorera les performances thermiques et l'autonomie de la batterie.
Actuellement, l'utilisation du processeur ARCore augmente lorsque Instant Placement et/ou Augmented Images est activé pour la session en cours. Suivre ces pour améliorer l'efficacité de l'utilisation du processeur:
Instant Placement devrait être désactivé une fois le suivi complet effectué établi. La fonctionnalité peut être désactivée dans la configuration de session.
Augmented Images doit être désactivé chaque fois que la fonctionnalité n'est pas requise pour votre expérience de RA. Pour désactiver Augmented Images, configurez un
null
ou une base de données Augmented Images vide dans la configuration de la session.
Surveiller la température des appareils
Pendant le développement et les tests de contrôle qualité, vous pouvez utiliser les API thermiques d'Android pour surveiller et suivre les performances de votre application sur l'appareil.
Veillez à utiliser un build de production de votre application (et non un build de développement ou build qa de votre application pouvant présenter des performances d'exécution différentes caractéristiques.
PowerManager#getCurrentThermalStatus()
(niveau d'API 29)PowerManager#getThermalHeadroom(int)
(niveau d'API 30)
Identifier l'insuffisance de processeur ARCore
Lorsqu'une session ARCore est active, votre application doit partager un nombre limité de processeurs et de GPU mobiles avec ARCore. Les applications liées au processeur peuvent concurrencer les ressources du processeur requise pour le suivi du mouvement.
Pour vérifier que le modèle localisation et cartographie simultanées (SLAM) fonctionne normalement. Vérifiez que la fréquence VIO est faible. message n'apparaît pas dans les journaux de l'appareil Android:
adb logcat | grep 'VIO frequency low'
Éviter l'insuffisance de processeur ARCore
Lorsqu'une session ARCore est active, votre application doit partager un nombre limité de processeurs et de GPU mobiles un appareil Google Cloud avec ARCore. Les applications liées au processeur peuvent concurrencer les ressources du processeur requise pour le suivi du mouvement.
Précréer les bases de données Augmented Images
Si possible, précréez vos bases de données d'images augmentées au moment du développement. S'il est nécessaire de créer des bases de données d'images augmentées au moment de l'exécution ou de manière dynamique ajouter des images à une base de données existante, assurez-vous d'ajouter des images en arrière-plan pour éviter de bloquer le thread UI principal.
Limiter le nombre de flux de caméra demandés
Avec Java Shared Camera, les applications peuvent pour demander des flux d'images de processeur ou de GPU supplémentaires.