Considérations sur les performances

Pour créer des expériences utilisateur de RA attrayantes, il est important que votre application compatible avec la RA fonctionne bien.

Assurez-vous que votre application:

  • Ressenti la réponse de l'utilisateur aux entrées utilisateur, ce qui inclut les gestes tactiles et les mouvements de l'appareil.
  • Rendu à une fréquence d'images raisonnable et cohérente. Les utilisateurs préfèrent généralement des fréquences d'images cohérentes et inférieures aux fréquences d'images variables et plus élevées.
  • Minimise la décharge de la batterie, ce qui permet à l'utilisateur d'utiliser son appareil pour d'autres tâches au cours de la journée ou d'interagir plus longtemps avec votre expérience de RA.
  • Crée une expérience de RA attrayante dans laquelle le contenu généré par RA semble stable par rapport à l'environnement et s'intègre de manière réaliste à celui-ci.

Bonnes pratiques en matière de performances

Pour créer des expériences de RA plus attrayantes, tenez compte des bonnes pratiques suivantes lors de la conception.

Utiliser des ancres pour améliorer les performances de suivi

Bien qu'il soit possible de positionner votre contenu 3D à l'aide de coordonnées spatiales mondiales, utilisez toujours une ancre autant que possible. ARCore garantit que les ancres semblent stables par rapport au monde, même si les coordonnées sous-jacentes de l'espace mondial et de l'espace changent et peuvent changer au fil du temps chaque fois qu'ARCore met à jour sa compréhension du monde.

Les objets virtuels qui ne sont pas rattachés à une ancre peuvent parfois sauter et ne semblent pas stables par rapport à l'environnement. Cela peut rendre l'expérience de RA moins attrayante pour les utilisateurs.

Tenir compte des caractéristiques de performances spécifiques aux appareils

Les appareils compatibles ARCore couvrent un large éventail de caractéristiques matérielles et de performances. Les performances des appareils peuvent varier pour les raisons suivantes:

  • Processeur/GPU de l'appareil, vitesse d'horloge
  • Mémoire et bande passante disponibles
  • Qualité du capteur de la caméra/de la centrale inertielle
  • Autres différences matérielles
  • Pilotes de système d'exploitation et de périphériques

Nous vous recommandons de tester votre application sur différentes classes d'appareils représentatifs de ceux que vos utilisateurs utiliseront.

Désactiver les fonctionnalités qui utilisent de manière intensive le processeur lorsqu'elles ne sont pas utilisées

Lorsqu'elles sont activées, certaines fonctionnalités ARCore augmentent l'utilisation du processeur. Envisagez de désactiver ces fonctionnalités lorsque votre expérience de RA ne l'exige pas. 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 sont activés pour la session en cours. Suivez ces consignes pour améliorer l'efficacité de l'utilisation du processeur:

  • Instant Placement doit être désactivé une fois le suivi complet établi. Cette fonctionnalité peut être désactivée dans la configuration de la 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 une base de données Augmented Images null ou vide dans la configuration de la session.

Surveiller la température thermique des appareils

Lors du développement et des 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.

Assurez-vous d'utiliser une version de production de votre application (et non une version de développement ou de Qa, susceptible de présenter des caractéristiques de performances d'exécution différentes.

Identifier la pénurie de processeur ARCore

Lorsqu'une session ARCore est active, votre application doit partager des ressources mobiles limitées de processeur et de GPU avec ARCore. Les applications liées au processeur peuvent entrer en concurrence avec les ressources de processeur requises pour le suivi du mouvement.

Pour vérifier que le service de localisation et de mappage simultanés (SLAM) d'ARCore peut s'exécuter normalement, vérifiez que le message VIOFrequency Low (Fréquence VIO basse) n'apparaît pas dans les journaux de l'appareil Android:

adb logcat | grep 'VIO frequency low'

Éviter l'épuisement du processeur ARCore

Lorsqu'une session ARCore est active, votre application doit partager des ressources de processeur et de GPU mobiles limitées avec ARCore. Les applications liées au processeur peuvent entrer en concurrence avec les ressources de processeur requises pour le suivi du mouvement.

Créer à l'avance les bases de données Augmented Images

Si possible, créez à l'avance 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 d'ajouter des images à une base de données existante de manière dynamique, veillez à ajouter les images dans un thread d'arrière-plan pour éviter de bloquer le thread UI principal.

Limiter le nombre de flux de caméra demandés

Lors de l'utilisation d'une caméra partagée Java, les applications peuvent demander des flux d'image de processeur ou de GPU supplémentaires.