Les statistiques sur les performances sont une nouvelle fonctionnalité d'Android Vitals conçue spécifiquement pour les développeurs de jeux et les autres développeurs dont les applications utilisent du code natif. Les statistiques sur les performances sont fournies par Android Performance Tuner, un nouveau plug-in qui optimise Android Vitals pour les développeurs de jeux.
Cet article présente les concepts fondamentaux et les calculs sous-jacents à Android Performance Tuner et aux statistiques sur les performances :
- Paramètres de fidélité et niveaux de qualité
- Annotations
- Fréquence d'images et temps de rendu cibles
- Seuils de lenteur et de rapidité des images
- Temps de rendu mesuré
- Statistiques de lenteur et de rapidité des images
- Problèmes et opportunités
Concepts fondamentaux
Paramètres de fidélité et niveaux de qualité
Les paramètres de fidélité de l'application influent sur les performances et la fidélité graphique de votre jeu, par exemple le niveau de détail du maillage, la résolution de la texture et la méthode d'anticrénelage. Il peut s'agir de paramètres continus (par exemple, de 0 à 100 %), binaires (oui/non) ou d'un autre ensemble de valeurs.
Un niveau de qualité est un ensemble prédéfini de valeurs attribuées à vos paramètres de fidélité. Les niveaux de qualité vous permettent de définir des combinaisons de paramètres offrant un niveau de fidélité acceptable à une fréquence d'images stable pour certains sous-ensembles d'utilisateurs. Toutes les combinaisons de paramètres possibles ne permettent pas d'offrir une expérience utilisateur pertinente.
Définir des paramètres de fidélité et des niveaux de qualitéLes paramètres de fidélité et les niveaux de qualité de votre application sont définis lors de l'intégration d'Android Performance Tuner. Vous pouvez définir jusqu'à 15 niveaux de qualité dans le cadre de l'intégration, avec un nombre illimité de paramètres de fidélité. Les niveaux se suivent dans l'ordre croissant de fidélité, où 1 correspond au niveau de fidélité le plus faible.
Les niveaux de qualité et les paramètres de fidélité sont affichés dans la Play Console (Qualité > Android Vitals > Vue d'ensemble > Inspecter les niveaux de qualité ), mais en lecture seule. Pour modifier les paramètres, vous devez publier une mise à jour. Pour en savoir plus, consultez le guide d'intégration approprié.
Les niveaux de qualité sont utilisés pour baliser les sessions afin que vous puissiez déterminer si les modèles d'appareils fonctionnent à un niveau de qualité trop élevé ou trop faible.
Les paramètres de fidélité permettent de déterminer comment mapper chaque appareil utilisateur à un niveau de qualité.
Important : Si vos paramètres de fidélité (et vos niveaux de qualité) ne représentent pas avec exactitude les paramètres de votre application sur les appareils des utilisateurs, vos sessions ne peuvent pas être mappées à l'un des niveaux de qualité prédéfinis. Ces sessions sont associées à un niveau de qualité "inconnu". Il est difficile de résoudre les problèmes de niveau de qualité "inconnu", car ils peuvent concerner de nombreux niveaux de fidélité différents. Nous vous recommandons de revoir votre intégration si cela se produit.
Pour en savoir plus sur les niveaux de qualité, y compris ceux déterminés par l'utilisateur, consultez la page Dépannage et questions fréquentes sur Android Performance Tuner.
Annotations
Les annotations sont des "tags" dans les scènes de votre jeu ou de votre application. Elles fournissent des informations contextuelles sur ce que fait votre jeu dans une image donnée. Les annotations sont structurées comme suit :
- Type d'annotation : Valeur d'annotation
- Exemple : "Personnage" : "Protagoniste"
Remarque : Une image peut comporter plusieurs annotations.
Définir des annotationsLes annotations sont définies lors de l'intégration. Pour les modifier, vous devez publier une mise à jour. Pour en savoir plus, consultez le guide d'intégration approprié.
Utiliser des annotations
Les annotations vous permettent de savoir si des scènes spécifiques de votre jeu posent problème ou présentent des opportunités. Pour obtenir le niveau de précision approprié pour les problèmes, vous devez définir des annotations suffisamment précises.
Fréquence d'images et temps de rendu cibles
La fréquence d'images cible permet une analyse comparative des temps de rendu sur tous les modèles d'appareils. Pour cela, elle est convertie en temps de rendu cible, auquel est appliquée une tolérance pour définir le seuil de lenteur des images.
La fréquence d'images est une statistique mesurée en nombre d'images par seconde (FPS). Le temps de rendu est mesuré en millisecondes. Une formule simple connecte les deux :
- Temps de rendu (ms) = 1 000 / fréquence d'images (FPS)
À l'heure actuelle, vous pouvez sélectionner l'une des fréquences d'images cibles suivantes :
Fréquence d'images cible (FPS) |
Temps de rendu cible (ms) |
30 |
33,333 |
60 |
16,667 |
120 |
8,333 |
Si vous ne savez pas quelle fréquence d'images cible choisir, commencez par 30 FPS. Il s'agit d'une fréquence d'images de base qui convient à la plupart des jeux. Vous pouvez modifier votre fréquence d'images cible à tout moment. Notez que cela ne modifie pas les données sous-jacentes, mais seulement les statistiques.
Seuils de lenteur et de rapidité des images
Les seuils de définition des statistiques sur les performances et l'affichage sont déterminés à partir de votre fréquence d'images cible :
- Seuil de lenteur des images = temps de rendu cible + valeur de tolérance
- Seuil de rapidité des images = 25 % plus rapide que le temps de rendu cible (fournit une certaine marge de sécurité)
Pour une fréquence d'images cible donnée, les seuils sont les suivants :
Fréquence d'images cible (FPS) |
Temps de rendu cible (ms) |
Seuil de lenteur des images (ms) (SFT) |
Seuil de rapidité des images (ms) (FFT) |
30 |
33,333 |
35,37 |
25 |
60 |
16,667 |
18,54 |
12,5 |
120 |
8,333 |
10,12 |
6,25 |
Afin de fournir des statistiques stables et exploitables, une valeur de tolérance est appliquée au temps de rendu de façon à corriger les imprécisions de mesure et à seulement mettre en avant les problèmes visibles par l'utilisateur, et non les écarts imperceptibles.
Une marge de 25 % est utilisée pour définir une opportunité, mais elle doit être considérée comme une indication d'opportunités potentielles, et non comme une garantie. Il est toujours recommandé d'approfondir la question et d'exécuter des tests avant d'augmenter le niveau de qualité sur les appareils : même si un appareil dispose de la marge indiquée, celle-ci ne lui suffit peut-être pas à offrir le niveau de qualité supérieur à une fréquence d'images constante.
Calculs réalisés par Android Performance Tuner
Pour exploiter au mieux les statistiques, il est utile de comprendre les calculs sur lesquels s'appuie Performance Tuner.
Temps de rendu mesuré
Lorsque nous cumulons les temps de rendu de plusieurs images pour votre application, nous indiquons le temps de rendu au 90e centile. Il s'agit du temps de rendu maximal de 90 % des images les plus rapides.
Ce seuil de 90 % est fixe et ne peut pas être modifié à l'heure actuelle.
Avantages du centile par rapport à la moyenne
Une expérience utilisateur de qualité nécessite une fréquence d'images stable et constante pendant toute la session. Une moyenne ne fournit aucune information sur la constance, car les images lentes peuvent être compensées par les images rapides. L'utilisation du 90e centile fournit une statistique qui reflète le comportement de la grande majorité des images.
Segmentation des temps de renduLes temps de rendu sont collectés et consignés dans des segments d'histogramme, et non dans une variable continue, afin de minimiser la quantité de données envoyées par les appareils des utilisateurs. Le temps de rendu indiqué correspond à la limite supérieure du segment dans lequel le temps de rendu collecté a été classé.
Par conséquent, les temps de rendu indiqués ne sont pas continus, mais regroupés sous des valeurs spécifiques.
Les segments par défaut sont configurés de façon à offrir une précision adaptée au dépannage pour des cibles de 30, 60 et 120 FPS. Ils sont également suffisamment étroits pour que les images lentes ne soient jamais surévaluées.
Statistiques de lenteur et de rapidité des images
Les images individuelles sont comptabilisées comme lentes ou rapides par comparaison aux seuils :
- Une image est lente si son temps de rendu est supérieur au seuil de lenteur des images (SFT, slow frame threshold).
- Une image est rapide si son temps de rendu est inférieur au seuil de rapidité des images (FFT, fast frame threshold).
Les statistiques des images ne sont généralement calculées que dans le contexte d'un problème ou d'une opportunité spécifiques, par exemple comme suit :
- # et % images lentes sur le modèle d'appareil X au niveau de qualité 4
- # et % images rapides sur l'annotation Y à tous les niveaux de qualité
- % images lentes et rapides sur les appareils ayant les caractéristiques Z
Remarque : La statistique de lenteur indiquée dans le récapitulatif "Vue d'ensemble" constitue une exception à cette règle, car elle est mesurée pour toutes les images.
AsymétrieLes images lentes et rapides ne sont pas l'inverse les unes des autres : elles ont des seuils et des critères différents. Cela signifie qu'une annotation ou un modèle d'appareil peu performants peuvent tout de même avoir des images rapides, et qu'une annotation ou un modèle très performants peuvent avoir des images lentes :
Critères |
Images lentes (%) |
Images rapides (%) |
|
Problème |
90 % des temps de rendu > SFT |
Plus de 10 % par définition |
Entre 0 et 90 % |
Opportunité |
90 % des temps de rendu < FFT |
Entre 0 et 10 % |
Plus de 90 % par définition |
Remarque : Parfois, nous indiquons à la fois les statistiques de lenteur et de rapidité des images pour vous fournir plus de contexte sur le problème ou l'opportunité.
Problèmes et opportunités
Les problèmes et les opportunités vous permettent d'agir en fonction de vos performances de temps de rendu. Un problème se produit si un modèle d'appareil ou une annotation (tels que définis ci-dessus) n'atteignent pas systématiquement votre temps de rendu cible. Une opportunité est un modèle d'appareil ou une annotation qui dépassent régulièrement votre temps de rendu cible d'une marge suffisante pour augmenter la fidélité.
Pour identifier les problèmes et les opportunités, nous comparons le 90e centile de vos temps de rendu aux seuils de lenteur (SFT) et de rapidité (FFT) des images. Ces seuils sont déterminés à partir de votre temps de rendu cible :
Types de statistiques |
Définition |
Méthode de calcul |
Problème :
|
"Au moins 10 % des images n'atteignent pas votre temps de rendu cible." |
Temps de rendu au 90e centile > SFT |
Opportunité :
|
"Au moins 90 % des images sont beaucoup plus rapides que votre temps de rendu cible." |
Temps de rendu au 90e centile < FFT |
Les problèmes et les opportunités ne sont définis que dans les contextes suivants :
- Modèle d'appareil x niveau de qualité
- Annotation x niveau de qualité
Cela vous permet d'étudier le problème ou l'opportunité en question, par exemple comme suit :
- Problème sur le modèle d'appareil X au niveau de qualité 4 => intéressez-vous au modèle d'appareil X.
- Opportunité pour l'annotation Y à tous les niveaux de qualité => intéressez-vous à l'annotation Y.
Les problèmes et les opportunités ne sont pas opposés. Les critères sont plus facilement atteints pour les problèmes que pour les opportunités, et il existe un grand écart entre un modèle d'appareil ou une annotation sans problème et une opportunité.
Une annotation peut être un problème à certains niveaux et une opportunité à d'autres. Il en va de même pour les modèles d'appareils, même s'il est rare qu'un modèle d'appareil soit associé à plusieurs niveaux de qualité.
Les problèmes et les opportunités sont liés à la fréquence d'images cible. Si celle-ci est modifiée, les problèmes et les opportunités changent également. Cependant, les données de temps de rendu sous-jacentes ne changent pas.