Le informazioni sulle prestazioni sono una nuova funzionalità di Android vitals progettata appositamente per gli sviluppatori di giochi e altri sviluppatori con app che utilizzano codice nativo. Queste statistiche sono basate su Android Performance Tuner, un nuovo plug-in per potenziare Android vitals per gli sviluppatori di giochi.
Questo articolo fornisce dettagli sui concetti alla base di Android Performance Tuner, sulle informazioni relative alle prestazioni e sui calcoli sottostanti:
- Parametri di fedeltà e livelli qualitativi
- Annotazioni
- Frame rate target e durata frame target
- Soglie frame lenti e veloci
- Durata frame misurata
- Metriche frame lenti e veloci
- Problemi e opportunità
Concetti principali
Parametri di fedeltà e livelli qualitativi
I parametri di fedeltà della tua app influenzano le prestazioni e la fedeltà grafica del gioco, ad esempio il livello di dettaglio della mesh, la risoluzione delle texture e il metodo di anti-alias. Possono essere continui (ad esempio 0-100%), binari (sì/no) o avere altri insiemi di valori.
Un livello qualitativo è un insieme predefinito di valori per i parametri relativi alla fedeltà. I livelli qualitativi consentono di definire combinazioni di parametri che forniscono un livello di fedeltà accettabile a un frame rate stabile per alcuni sottoinsiemi di utenti. Non tutte le possibili combinazioni di parametri offrono un'esperienza utente significativa.
Come vengono impostati i parametri di fedeltà e i livelli qualitativiI parametri di fedeltà della tua app e i relativi livelli qualitativi vengono definiti durante l'integrazione di Android Performance Tuner. Puoi definire fino a 15 livelli qualitativi nell'ambito dell'integrazione, con un numero illimitato di parametri di fedeltà. I livelli vengono messi in sequenza in ordine crescente di fedeltà, dove 1 è il livello di fedeltà più basso.
I livelli qualitativi e i parametri di fedeltà possono essere esaminati in Play Console (Qualità > Android vitals > Panoramica > seleziona Controlla i livelli qualitativi), ma sono di sola lettura. Per modificare i parametri, devi rilasciare un aggiornamento. Per scoprire di più, consulta la guida all'integrazione pertinente.
I livelli qualitativi vengono utilizzati per contrassegnare le sessioni in modo da poter determinare se modelli di dispositivi stanno funzionando a un livello qualitativo troppo alto o troppo basso.
I parametri di fedeltà vengono utilizzati per identificare come associare ciascun dispositivo degli utenti a un livello qualitativo.
Importante: se i parametri di fedeltà (e i livelli qualitativi) non riflettono con precisione le impostazioni dell'app sui dispositivi degli utenti, le sessioni non possono essere associate a uno dei livelli qualitativi predefiniti. Le sessioni di questo tipo vengono associate a un livello qualitativo "sconosciuto". È difficile risolvere i problemi relativi a livelli qualitativi "sconosciuti", in quanto potrebbero contenere diversi livelli di fedeltà. In questo caso, ti consigliamo di verificare la tua integrazione.
Per ulteriori informazioni sui livelli qualitativi, inclusi quelli determinati dall'utente, consulta la sezione sulla risoluzione dei problemi e le domande frequenti (FAQ) relative ad Android Performance Tuner.
Annotazioni
Le annotazioni sono "tag" sulle scene nel gioco o nell'app. Forniscono informazioni contestuali su cosa sta accadendo nel gioco in un determinato frame. Sono strutturate come segue:
- Tipo di annotazione: valore dell'annotazione
- Ad esempio: "Personaggio": "Protagonista"
Nota: un frame può avere più annotazioni.
Come vengono impostate le annotazioniLe annotazioni vengono definite durante l'integrazione. Per modificare le annotazioni devi rilasciare un aggiornamento. Per ulteriori informazioni, consulta la sezione pertinente della guida all'integrazione.
Modalità di utilizzo delle annotazioni
Le annotazioni ti aiutano a capire se scene specifiche del gioco causano problemi o offrono opportunità. Per ottenere il giusto livello di dettaglio relativamente a un problema, devi definire annotazioni sufficientemente dettagliate.
Frame rate target e durata frame target
Il frame rate target viene utilizzato per analizzare le prestazioni della durata frame su tutti i modelli di dispositivi. A tal fine, viene convertito in una durata frame target e viene applicata una tolleranza per definire la soglia di frame lenti.
Il frame rate è una metrica che usa l'unità "frame al secondo" (fps). La durata frame viene misurata in "ms". Questi due valori sono collegati da una semplice formula:
- durata frame (ms) = 1000/frame rate (fps)
Al momento puoi selezionare uno dei seguenti frame rate target:
Frame rate target (fps) |
Durata frame target (ms) |
30 |
33,333 |
60 |
16,667 |
120 |
8,333 |
Se non sai quale frame rate scegliere, inizia con 30 fps. Si tratta di un buon frame rate di base per molti giochi. Puoi modificare il frame rate target in qualsiasi momento. Tieni presente che la modifica non ha effetto sui dati sottostanti, ma solo sulle informazioni e sulle metriche.
Soglie frame lenti e veloci
Le soglie per la definizione di informazioni e metriche di frame derivano dal frame rate target:
- Soglia di frame lenti = durata frame target + tolleranza
- Soglia di frame veloci = 25% più veloce rispetto alla durata frame target (fornisce un margine di miglioramento)
Per un determinato frame rate target, le soglie sono le seguenti:
Frame rate target (fps) |
Durata frame target (ms) |
Soglia frame lenti (ms) (SFT) |
Soglia frame veloci (ms) (FFT) |
30 |
33,333 |
35,37 |
25,0 |
60 |
16,667 |
18,54 |
12,5 |
120 |
8,333 |
10,12 |
6,25 |
Al fine di fornire informazioni coerenti e fruibili, alla durata frame viene applicata una tolleranza che consente di considerare le imprecisioni di misurazione e garantire che vengano mostrati solo i problemi visibili agli utenti e non eventuali deviazioni non percepibili dall'occhio umano.
Per definire un'opportunità viene utilizzato un margine di miglioramento del 25%, ma questo valore deve essere considerato come indicativo di possibili opportunità, non come una garanzia. Ti consigliamo di approfondire ulteriormente ed eseguire vari test prima di impostare un livello qualitativo più alto per i dispositivi: il margine di un dispositivo potrebbe non essere sufficiente per eseguire il livello qualitativo successivo con un frame rate costante.
Calcoli di Android Performance Tuner
Capire i calcoli alla base di Android Performance Tuner ti aiuterà a ottenere il massimo dalle informazioni acquisite.
Durata frame misurata
Quando aggreghiamo la durata in più frame per la tua app, la durata frame viene segnalata al 90° percentile. Si tratta della durata massima per il 90% dei frame più veloci.
La soglia del 90% è attualmente fissa e non può essere modificata.
Vantaggi del percentile rispetto alla media
Una buona esperienza utente richiede un frame rate stabile e uniforme per tutta la sessione. Un valore medio non fornisce informazioni sull'uniformità, in quanto frame veloci e frame lenti possono compensarsi a vicenda. L'utilizzo del 90° percentile fornisce invece una metrica che riflette il comportamento della maggior parte dei frame.
Bucketing della durata frameLe durate frame vengono raccolte e riportate nei bucket dell'istogramma, non in una variabile continua, in modo da ridurre al minimo la quantità di dati inviati dai dispositivi degli utenti. La durata frame segnalata è il limite superiore del bucket di classificazione della durata.
Di conseguenza, le durate frame segnalate vengono raggruppate in base a valori specifici, non continui.
I bucket predefiniti sono configurati in modo da fornire una buona granularità per la risoluzione dei problemi su target di 30, 60 e 120 fps. Inoltre, sono abbastanza limitati da garantire che i frame lenti non vengano mai sovrastimati.
Metriche frame lenti e veloci
I singoli frame vengono conteggiati come lenti o veloci confrontandoli con le soglie di frame:
- Un singolo frame è ritenuto lento se la sua durata è superiore alla soglia di frame lenti (SFT)
- Un singolo frame è ritenuto veloce se la sua durata è più rapida della soglia di frame veloci (FFT)
Le metriche di frame vengono solitamente calcolate solo nel contesto di un problema o di opportunità specifici. Esempi:
- Numero e percentuale di frame lenti sul modello di dispositivo X al livello qualitativo 4
- Numero e percentuale di frame veloci sull'annotazione Y a tutti i livelli qualitativi
- Percentuale di frame lenti e veloci nella specifica Z del dispositivo
Nota: l'unica eccezione a questa regola è la metrica relativa ai frame lenti mostrata nel riepilogo Panoramica, che viene misurata in tutti i frame.
AsimmetriaI frame lenti e veloci non sono l'opposto l'uno all'altro: presentano infatti soglie e criteri diversi. Ciò significa che un'annotazione o un modello di dispositivo con prestazioni insufficienti possono comunque avere frame veloci e, al contrario, un'annotazione o un modello di dispositivo con prestazioni superiori al previsto possono comunque avere frame lenti:
Criteri |
Frame lenti (%) |
Frame veloci (%) |
|
Problema |
90% durata frame > SFT |
> 10% per definizione |
qualunque valore tra 0 e 90% |
Opportunità |
90% durata frame < FFT |
qualunque valore tra 0 e 10% |
> 90% per definizione |
Nota: a volte vengono fornite sia le metriche di frame lenti sia quelle di frame veloci per fornire maggiore contesto sul problema o sull'opportunità.
Problemi e opportunità
Problemi e opportunità consentono di intervenire sulle prestazioni della durata frame. Un problema si verifica se un modello di dispositivo o un'annotazione (come definiti sopra) non raggiunge la durata frame target in maniera costante. Un'opportunità è un modello di dispositivo o un'annotazione che supera in maniera costante la durata frame target di un livello sufficiente a consentire un margine per aumentare la fedeltà.
Per identificare problemi e opportunità, confrontiamo le durate frame al percentile 90% con le soglie dei frame lenti (SFT) e veloci (FFT). Queste soglie sono ricavate dalla durata frame target:
Tipi di dati |
Definizione |
Modalità di calcolo |
Problema:
|
"almeno il 10% dei frame non raggiunge la durata frame target" |
Percentile 90% durata frame > SFT |
Opportunità:
|
"almeno il 90% dei frame è significativamente più veloce della durata frame target" |
Percentile 90% durata frame < FFT |
I problemi e le opportunità sono definiti solo nei seguenti contesti:
- Modello di dispositivo x livello qualitativo
- Annotazione x livello qualitativo
In questo modo hai la possibilità di analizzare il problema o l'opportunità. Ad esempio:
- Problema relativo al modello di dispositivo X al livello qualitativo 4 => analizza il modello di dispositivo X
- Opportunità sull'annotazione Y a tutti i livelli qualitativi => analizza l'annotazione Y
Problemi e opportunità non sono opposti tra loro. I problemi hanno una probabilità inferiore di emergere rispetto alle opportunità; inoltre, esiste un ampio divario tra la situazione in cui un dispositivo o annotazione non presenta un problema e quella in cui presenta un' opportunità.
Un'annotazione può essere un problema in alcuni livelli e un'opportunità in altri. Questo vale anche per i modelli di dispositivi, anche se la presenza di un modello di dispositivo in più livelli qualitativi costituisce un caso limite.
Problemi e opportunità sono legati al frame rate target. Se quest'ultimo varia, cambieranno anche i problemi e le opportunità. Tuttavia, i dati alla base della durata frame non cambiano.