Indblik i effektiviteten er en ny funktion i Vitale Android-oplysninger, der er udviklet specielt til spiludviklere og andre udviklere med apps, der anvender indbygget kode. Indblik i effektiviteten leveres af Android Performance Tuner, som er et nyt plugin, der kan gøre Vitale Android-oplysninger meget mere effektivt for spiludviklerne.
Denne artikel indeholder oplysninger om de grundlæggende koncepter bag Android Performance Tuner og indsigt i effektiviteten samt de beregninger, der ligger til grund for dem:
- Gengivelsesparametre og kvalitetsniveauer
- Annoteringer
- Mål for billedfrekvens og mål for frametime
- Grænser for langsomme og hurtige billeder
- Målt frametime
- Metrics for langsomme og hurtige billeder
- Problemer og muligheder
Grundlæggende koncepter
Gengivelsesparametre og kvalitetsniveauer
Din apps gengivelsesparametre har indvirkning på dit spils effektivitet og grafiske kvalitet, f.eks. mesh-detaljeringsgraden, strukturopløsningen og metoden for anti-aliasing. De kan være kontinuerlige (f.eks. 0-100 %), binære (ja/nej) eller udtrykt via et andet sæt værdier.
Et kvalitetsniveau er et foruddefineret sæt værdier for dine gengivelsesparametre. Kvalitetsniveauer giver dig mulighed for at definere kombinationer af parametre, der leverer et acceptabelt gengivelsesniveau til en stabil billedfrekvens for nogle undergrupper af dine brugere. Det er ikke alle mulige kombinationer af parametre, der giver en meningsfuld brugeroplevelse.
Sådan indstilles gengivelsesparametre og kvalitetsniveauerDin apps gengivelsesparametre og dens kvalitetsniveauer defineres under integrationen af Android Performance Tuner. Du kan definere op til 15 kvalitetsniveauer som en del af integrationen med et ubegrænset antal gengivelsessparametre. Niveauerne angives i stigende rækkefølge, hvor 1 er det laveste gengivelsesniveau.
Du kan se dine kvalitetsniveauer og gengivelsesparametre i Play Console (Kvalitet > Vitale Android-oplysninger > Oversigt > vælg Undersøg kvalitetsniveauer), men de er skrivebeskyttede. Hvis du vil ændre nogle parametre, skal du udgive en opdatering. Se den relevante integrationsvejledning for at få flere oplysninger.
Kvalitetsniveauer bruges til at tagge sessioner, så du kan afgøre, om enhedsmodellerne kører på et for højt eller for lavt kvalitetsniveau.
Gengivelsesparametre bruges til at identificere, hvordan hver brugerenhed knyttes til et kvalitetsniveau.
Vigtigt! Hvis dine gengivelsesparametre (og kvalitetsniveauer) ikke afspejler indstillingerne for din app på brugerenheder nøjagtigt, kan dine sessioner ikke knyttes til et af dine foruddefinerede kvalitetsniveauer. Sådanne sessioner vises med et "ukendt" kvalitetsniveau. Det er svært at finde og rette problemer på "ukendte" kvalitetsniveauer, da de kan indeholde mange forskellige gengivelsesniveauer. Vi anbefaler, at du gennemgår din integration, hvis dette sker.
Du kan få flere oplysninger om kvalitetsniveauer, herunder brugerbestemte kvalitetsniveauer, ved at gå til Fejlfinding af problemer med og svar på ofte stillede spørgsmål om Android Performance Tuner.
Annoteringer
Annoteringer er "tags" i scener i dit spil eller din app. De giver kontekstuelle oplysninger om, hvad der sker i spillet, inden for et bestemt billede. Annoteringer er struktureret på følgende måde:
- Annoteringstype: Annoteringsværdi
- Eksempel: "Karakter": "Hovedperson"
Bemærk! Ét billede kan have flere annoteringer.
Sådan angives annoteringerAnnoteringer defineres under integrationen. Hvis du vil ændre annoteringerne, skal du udgive en opdatering. Gå til den relevante integrationsvejledning for at få flere oplysninger.
Sådan bruges annoteringer
Annoteringer hjælper dig med at forstå, om bestemte scener i dit spil forårsager problemer eller har muligheder. Du kan få det korrekte granuleringssniveau for problemer ved at definere tilstrækkeligt granulerede annoteringer.
Mål for billedfrekvens og mål for frametime
Dit mål for billedfrekvens bruges til at sammenligne effektiviteten af gengivelsestiden på alle enhedsmodeller. Dette gøres ved at konvertere billedfrekvensen til et mål for frametime og ved at anvende en tolerance til at definere din grænse for langsom billedfrekvens.
Billedfrekvensen er en metric med måleenheden "billeder pr. sekund" (FPS, Frames Per Second). Gengivelsestiden måles i "ms". En formel forbinder de to:
- frametime (ms) = 1000/billedfrekvens (FPS)
I øjeblikket kan du vælge en af følgende mål for billedfrekvenser:
Mål for billedfrekvens (fps) |
Mål for frametime (ms) |
30 |
33,333 |
60 |
16,667 |
120 |
8,333 |
Hvis du ikke er sikker på, hvilket mål for billedfrekvens du skal vælge, kan du starte med 30 fps. Det er en god grundlæggende billedfrekvens for mange spil. Du kan til enhver tid ændre dit mål for billedfrekvens. Bemærk, at dette ikke ændrer dine underliggende data, kun din indsigt og dine metrics.
Grænser for langsomme og hurtige billeder
Grænserne for definition af indsigt og billedmetrics udledes af dit mål for billedfrekvens:
- Grænse for langsom billedfrekvens = mål for frametime + en tolerance
- Grænse for hurtig billedfrekvens = 25 % hurtigere end mål for frametime (giver ekstra margin)
For et givent mål for billedfrekvens er grænserne som følger:
Mål for billedfrekvens (fps) |
Mål for frametime (ms) |
Grænse for langsomme billeder (ms) (SFT) |
Grænse for hurtige billeder (ms) (FFT) |
30 |
33,333 |
35,37 |
25,0 |
60 |
16,667 |
18,54 |
12,5 |
120 |
8,333 |
10,12 |
6,25 |
For at kunne levere en stabil og handlingsrettet indsigt anvendes der en tolerance for frametime for at justere unøjagtigheder i målingen og sikre, at vi kun afdækker problemer, brugerne kan se, fremfor afvigelser, brugerne ikke kan se.
En margin på 25 % bruges til at definere en mulighed, men bør behandles som en vejledning til eventuelle muligheder, ikke som en garanti. Du anbefales altid at gå i dybden og køre tests, før du flytter enheder et kvalitetsniveau op: Selv når en enhed har en margin, har den muligvis ikke nok margin til at køre det næste kvalitetsniveau med en fast billedfrekvens.
Beregninger med Android Performance Tuner
Du får mest muligt ud af din indsigt, hvis du forstår de beregninger, der ligger til grund for Android Performance Tuner.
Målt frametime
Når vi sammenlægger frametime for mange billeder i din app, rapporterer vi en frametime på 90. percentil. Dette defineres som den maksimale frametime for de hurtigste 90 % af dine billeder.
Grænsen på 90 % er i øjeblikket en fast grænse og kan ikke ændres.
Fordelene ved percentil over gennemsnittet
En god brugeroplevelse kræver en stabil og ensartet billedfrekvens gennem hele sessionen. En gennemsnitsværdi giver ikke nogen indsigt i ensartetheden, da hurtige og langsomme billeder kan opveje hinanden. Brug af 90. percentil giver dig en metric, der afspejler, hvordan langt de fleste billeder har opført sig.
Samlet frametimeFrametime indsamles og rapporteres i samlede historikker, og ikke i en kontinuerlig variabel, for at minimere mængden af data, der sendes fra brugerenheder. Den rapporterede frametime er den øvre grænse for den samling, hvor frametime blev klassificeret.
Dine rapporterede frametimes er derfor grupperet efter specifikke værdier og er ikke kontinuerlige.
Standardsamlinger er konfigureret til at levere god granularitet til fejlfinding på mål ved 30, 60 og 120 fps. De er også snævre nok til at sikre, at dine langsomme billeder aldrig bliver angivet for højt.
Metrics for langsomme og hurtige billeder
Individuelle billeder tælles som langsomme eller hurtige ved at sammenligne med billedgrænserne:
- Et enkelt billede er langsomt, hvis dets frametime er højere end grænsen for det langsomme billede (SFT)
- Et enkelt billede er hurtigt, hvis dets frametime er hurtigere end grænsen for et hurtigt billede (FFT)
Metrics for billedfrekvens beregnes normalt kun i forbindelse med et bestemt problem eller bestemte muligheder. Eksempler:
- Antallet og procentdelen af langsomme billeder på enhedsmodel X på kvalitetsniveau 4
- Antallet og procentdelen af hurtige billeder på annotering Y på alle kvalitetsniveauer
- Procentdelen af langsomme og hurtige billeder på enhedsspecifikation Z
Bemærk! Den eneste undtagelse er den metric for langsomme billeder, der vises i oversigten, som måles for alle billeder.
AsymmetriLangsomme og hurtige billeder er ikke inverse værdier: De har forskellige grænser og forskellige kriterier. Det betyder, at en enhedsmodel eller annotering, der ikke fungerer optimalt, stadig kan have hurtige billeder, og omvendt kan en enhedsmodel eller annotering, der fungerer over forventning, stadig have langsomme billeder:
Kriterier |
Langsomme billeder (%) |
Hurtige billeder (%) |
|
Problem |
90 % frametime > SFT |
= 10 % pr. definition |
hvor som helst mellem 0-90 % |
Mulighed |
90 % frametime < FFT |
Hvor som helst fra 0-10 % |
> 90 % pr. definition |
Bemærk! Nogle gange leveres der metrics for både langsomme og hurtige billeder for at give mere kontekst om problemet eller muligheden.
Problemer og muligheder
Problemer og muligheder gør det muligt at agere i forhold til effektiviteten for frametime. Der opstår et problem, hvis en enhedsmodel eller annotering (som defineret ovenfor) ikke konsekvent når dit mål for frametime. En mulighed er en enhedsmodel eller annotering, der konsekvent overskrider dit mål for frametime med en tilstrækkelig margin til, at denne margin kan øge gengivelsen.
Med det formål at identificere problemer og muligheder sammenligner vi dine frametimes på 90 % percentiler med grænserne for langsomme billeder (SFT) og hurtige billeder (FFT). Disse grænser udledes af dit mål for frametime:
Typer af indsigt |
Definition |
Sådan beregnes det |
Problem:
|
"Mindst 10 % af billederne opfylder ikke dit mål for frametime" |
90 % percentil for frametime > SFT |
Mulighed:
|
"Mindst 90 % af billederne er betydeligt hurtigere end dit mål for frametime" |
90 % percentil for frametime < FFT |
Problemer og muligheder defineres kun i forbindelse med:
- Enhedsmodel x kvalitetsniveau
- Annotering x kvalitetsniveau
Dette giver dig mulighed for at undersøge problemet eller muligheden. Eksempel:
- Problem med enhedsmodel X på kvalitetsniveau 4 => se nærmere på enhedsmodel X
- Mulighed på annotering Y på alle kvalitetsniveauer => se nærmere på annotering Y
Problemer og muligheder er ikke modsætninger. Problemer registreres ved en lavere grænse end muligheder, og der er en stor forskel mellem en enhedsmodel eller annotering, der ikke har et problem, og en enhedsmodel eller annotering, der har en mulighed.
En annotering kan være et problem på nogle niveauer og en mulighed på andre. Dette gælder også for enhedsmodeller, selvom det scenarie, hvor en enhedsmodel vises på flere kvalitetsniveauer, er et kanttilfælde.
Problemer og muligheder er knyttet til den ønskede billedfrekvens. Hvis dette ændres, ændres dine problemer og muligheder også. Dine underliggende data for frametime ændres dog ikke.