WOOFY · Spillaboratorium

Samme FPS, forskellig billedrytme

En FPS-tæller opsummerer en frekvens. Den fortæller ikke, hvornår hvert billede kommer. Brug disse bevidst enkle sekvenser til at lære, hvilke spørgsmål en opsummering besvarer, og hvilke der kræver tidslinjen.

Stil et andet spørgsmål til de samme data

Hvorfor to FPS-tal ikke altid kan gennemsnitsberegnes

Forestil dig to hele intervaller: 10 ms og 30 ms. Tilsammen varer de 40 ms. Tæl begge intervaller over hele denne tid.

Den samlede hastighed er 1000 × 2 ÷ 40 = 50 FPS. Intervallet på 10 ms svarer ved omregning til 100 FPS, og intervallet på 30 ms til cirka 33.33 FPS.

Gennemsnittet af 100 og 33.33 er cirka 66.67, men det er ikke den samlede hastighed. Det langsomme interval tager tre gange så lang tid. Hold antal intervaller og samlet varighed sammen; samme fælde opstår, når optagelser af forskellig længde kombineres.

Tre sekvenser, samme samlede tid

Hver sekvens indeholder 1 000 hele billedintervaller på i alt 10 000 ms. Et interval er tiden mellem to på hinanden følgende billedhændelser. Her er gennemsnitlig FPS = 1 000 × antal intervaller ÷ samlet antal millisekunder. Intervallerne er syntetiske, uden optagelsesgrænser eller manglende poster.

Den vandrette position er intervallets rækkefølge, ikke den forløbne tid. Den lodrette højde er varigheden, fra 0 til 120 ms. Teksten og tallene nedenfor beskriver de samme data.

Jævn afstand

Hvert interval er 10 ms. Intet interval overskrider referencebudgettet ved 60 FPS på cirka 16.67 ms.

Gennemsnitlig FPS
100
P99-interval (ms)
10
Længste interval (ms)
10
Intervaller over budget
0
Andel intervaller over budget (%)
0
Andel af samlet tid i disse intervaller (%)
0
Længste sammenhængende gruppe over budget
0
Referencebudget (ms)
16,67

Ti adskilte pauser

Hvert interval med et positionsnummer, der er et multiplum af hundrede, varer 109 ms; de øvrige 990 varer 9 ms. Pauserne ligger adskilt. Gennemsnittet er stadig 100 FPS, men P99 er kun 9 ms.

Gennemsnitlig FPS
100
P99-interval (ms)
9
Længste interval (ms)
109
Intervaller over budget
10
Andel intervaller over budget (%)
1
Andel af samlet tid i disse intervaller (%)
10,9
Længste sammenhængende gruppe over budget
1
Referencebudget (ms)
16,67

Ti pauser samlet

De samme ti intervaller på 109 ms ligger nu i træk til sidst. Opsummeringerne er de samme som for den adskilte sekvens, mens den længste sammenhængende gruppe over referencebudgettet vokser fra ét til ti intervaller.

Gennemsnitlig FPS
100
P99-interval (ms)
9
Længste interval (ms)
109
Intervaller over budget
10
Andel intervaller over budget (%)
1
Andel af samlet tid i disse intervaller (%)
10,9
Længste sammenhængende gruppe over budget
10
Referencebudget (ms)
16,67

Hvorfor P99 kan overse de længste pauser

Laboratoriet sorterer intervallerne fra kortest til længst og tager position ceil(0.99 × N), talt fra én. Med 1 000 intervaller er det position 990. I begge ujævne sekvenser er de første 990 værdier 9 ms; alle ti pauser på 109 ms ligger efter den position. En lavere P99 beviser her ikke en jævnere oplevelse. Andre værktøjer kan bruge andre percentilmetoder.

P99 er ikke en universel »1% low FPS«

En percentilgrænse og gennemsnittet af de langsomste intervaller er forskellige beregninger. Betegnelsen »1% low« er ikke nok til at identificere formlen. Kontrollér værktøjets definition, målemetrik og version, før du sammenligner resultater. Laboratoriet viser P99 i millisekunder og kalder ikke dens reciprokke værdi for 1% low.

Stil et andet spørgsmål til de samme data

Vælg en sekvens og en referencefrekvens. Et budget på 1 000 ÷ reference-FPS giver 33.33 ms ved 30, 16.67 ms ved 60 og 8.33 ms ved 120. En ændring omklassificerer intervallerne; den ændrer ikke sekvensen og simulerer ikke en FPS-begrænser.

De tre eksempler ovenfor bruger 60 FPS som reference. Data, forklaringer og metode kan stadig læses uden de interaktive kontroller.

Kun intervaller, der er strengt længere end referencebudgettet, tælles. Lighed er inden for budgettet.

Tidsandelen lægger hele varigheden af hvert talt interval sammen, ikke kun overskridelsen af budgettet. Det er ikke en hakken-score eller en måling af inputforsinkelse. En sammenhængende gruppe beskriver tilstødende intervaller, ikke en dokumenteret mærkbar hakken.

Gør en indstillingsændring til en retfærdig sammenligning

Brug dit optageværktøj til virkelige målinger. Laboratoriet læser ikke din hardware og importerer ikke optagelsesfiler. Notér følgende, før du beslutter, at en indstilling hjalp.

  1. Definér ét spørgsmål

    For eksempel: giver en ændring af én grafikindstilling færre gentagne lange intervaller på samme rute? Hold spilversion, scene, opløsning, billedgrænse, synkronisering og andre indstillinger faste. Notér alle undtagelser.

  2. Optag sammenlignelige gennemløb

    Varm op på samme måde, og brug samme rute og optagelseslængde. Gentag hver betingelse, og skift deres rækkefølge, hvor det er praktisk. Hold første indlæsning eller shaderarbejde adskilt fra en opvarmet test; slet ikke ubelejlige spidser uden at dokumentere hvorfor.

  3. Læs opsummeringer sammen med tidslinjen

    Sammenlign gennemsnitlig frekvens, værdier i fordelingens hale, største interval og placeringen af lange intervaller. Hvis gentagne gennemløb overlapper betydeligt, så angiv resultatet som uklart frem for at vælge det bedste gennemløb. Et uændret gennemsnit kan godt ledsage en nyttig ændring i billedrytmen.

  4. Angiv konklusionens rækkevidde

    Skriv den ændrede indstilling, de faste betingelser, resultaterne af gentagne gennemløb og den resterende usikkerhed. Intervaller mellem applikationens billedafleveringer, viste billeder og genererede billeder kan være forskellige. Sammenlign samme metrik; udled ikke inputforsinkelse eller en CPU/GPU-fejl af tallene alene.

Fra resultattabel til en begrundet konklusion

Hvert tilfælde stiller et nyt spørgsmål: gentog fordelen sig, blev det valgte mål bedre, og blev optagelserne kombineret korrekt? Læs observationerne, før du afgør, hvad de understøtter.

Alle optagelser nedenfor er konstruerede undervisningsdata med hele intervaller, ikke virkelige benchmarkoptagelser. A og B er betegnelser, ikke anbefalede indstillinger. Eksemplerne fastsætter hverken et mindste antal gentagelser eller en regel for statistisk signifikans.

Den bedste optagelse antyder en vinder; hele sættet gør ikke

I dette konstruerede eksempel skifter A og B på samme rute i 60 sekunder hver med samme optagemål, opvarmning, opløsning og øvrige forhold. Spørgsmålet er, om B viser en gentagelig fordel i gennemsnitshastighed i disse tre par.

GentagelsesparA · Gennemsnitlige FPSB · Gennemsnitlige FPSForskel B − A (FPS)
11001033
210299-3
31011010

A

Samlede FPS over hele varigheden
101
Laveste gennemsnitlige FPS blandt optagelserne
100
Højeste gennemsnitlige FPS blandt optagelserne
102

B

Samlede FPS over hele varigheden
101
Laveste gennemsnitlige FPS blandt optagelserne
99
Højeste gennemsnitlige FPS blandt optagelserne
103

Vælger man kun det højeste resultat, får A 102 og B 103 FPS. Beholder man alle optagelser af samme længde, får begge samlet 101 FPS. Forskellene i parrene er +3, −3 og 0 FPS: retningen skifter.

Det kan du konkludere

Sættet viser ikke en konsekvent fordel for B i gennemsnitlige FPS. Det beviser heller ikke, at indstillingerne er ligeværdige; et lille konstrueret datasæt kan ikke afgøre det.

Det skal du undersøge næste gang

Gentag sammenlignelige observationer, og vurder forskellene sammen med optageforholdene. Behold alle gyldige optagelser, og dokumentér udeladelser. Kan rækkefølgen eller baggrundsarbejde forklare et resultat, bør sammenligningen forbedres, før en vinder udpeges.

Konklusionens grænse

Overlappende spænd er en beskrivelse, ikke en signifikanstest. En enkelt bedste optagelse og et fast antal gentagelser er ikke universelle beslutningsregler.

Gennemsnittet bliver bedre, mens et mål for lange intervaller bliver dårligere

Begge konstruerede optagelser varer ti sekunder. A har 980 intervaller på 10 ms og ti på 20 ms. B har 1180 intervaller på 8 ms og tyve på 28 ms. Brug samme reference på 60 FPS, cirka 16.67 ms, for begge.

A

Varighed (s)
10
Hele intervaller
990
Gennemsnitlige FPS
99
Intervaller over referencen på 60 FPS
10
Andel af tiden i disse intervaller (%)
2

B

Varighed (s)
10
Hele intervaller
1.200
Gennemsnitlige FPS
120
Intervaller over referencen på 60 FPS
20
Andel af tiden i disse intervaller (%)
5,6

A har i alt 990 intervaller og B 1200: 99 mod 120 FPS. De talte intervaller fylder 200 ms i A og 560 ms i B, altså 2% mod 5.6% af den samlede tid. Procenterne beskriver tid, ikke andelen af intervaller.

Det kan du konkludere

B har den højeste gennemsnitshastighed her, men mere tid ligger i intervaller over den valgte reference. Tallene viser en afvejning, ikke en samlet vinder i jævnhed.

Det skal du undersøge næste gang

Angiv, om dit egentlige spørgsmål handler om gennemsnitshastighed, gentagne lange mellemrum eller et andet målt udfald. Sammenlign gentagne optagelser af samme scene, og undersøg, hvor de lange mellemrum forekommer, før du beholder indstillingen.

Konklusionens grænse

Et enkelt A/B-par fastslår ikke en gentagelig effekt. Grænsen er en valgt reference; eksemplet måler hverken oplevelse eller inputforsinkelse og finder ikke årsagen til et langt interval.

Forskellige optagelseslængder kan vende en naiv rangering

A kombinerer ti sekunder ved 120 FPS med halvfems sekunder ved 60 FPS. B kombinerer to optagelser på halvtreds sekunder ved 80 FPS. Hver betegnelse dækker dermed 100 sekunder. A's optagelser har forskellig længde; B's har samme længde.

OptagelseVarighed (s)Hele intervallerGennemsnitlige FPS
A1101.200120
B1504.00080
A2905.40060
B2504.00080

A

Samlede FPS over hele varigheden
66
Aritmetisk gennemsnit af optagelsernes FPS
90

B

Samlede FPS over hele varigheden
80
Aritmetisk gennemsnit af optagelsernes FPS
80

A har 1200 + 5400 = 6600 intervaller: 66 FPS over 100 sekunder. B har 4000 + 4000 = 8000: 80 FPS. Gennemsnittet af A's to viste FPS-tal er 90, hvilket fejlagtigt placerer A over B, hvis det kaldes samlet hastighed.

Det kan du konkludere

Over de fulde varigheder giver de konstruerede data A 66 og B 80 FPS. Genvejen til 90 FPS giver samme vægt til optagelser med meget forskellig længde.

Det skal du undersøge næste gang

Handler spørgsmålet om samlet hastighed, skal intervalantal og varigheder kombineres. Ved sammenligning af indstillingers effekt skal sceneindhold, opvarmning og optagemål også passe sammen; korrekt regning kan ikke rette forskellige forhold.

Konklusionens grænse

Et gennemsnit af FPS pr. optagelse besvarer et andet spørgsmål og er ikke i sig selv ugyldigt. Det må ikke omdøbes til samlet hastighed. Disse samlede tal alene viser ikke, at B forårsagede en forbedring.

Skift opsummering, behold optagelserne

Brug de samme konstruerede data til at sammenligne en beregning over hele varigheden med genvejen i det enkelte tilfælde. Kun opsummeringen ændres. Optagelserne og deres forhold forbliver de samme.

En nyttig konklusion kan indeholde usikkerhed

»Begge eksempler har i gennemsnit 100 FPS, men forskellige intervalmønstre« følger af dataene. »Denne pc vil føles flydende« gør ikke. Behold først indstillingerne i dine egne tests, når du har kontrolleret gentagne sammenlignelige målinger og den oplevelse, du ville forbedre.

Hvad øvelsen ikke kan fortælle dig

Sekvenserne illustrerer regning, ikke menneskelig perception. De udelader skærmens opdateringsadfærd, variabel opdateringsfrekvens, billedgenerering, inputforsinkelse, netværksforsinkelse og årsagen til et langt interval. Referencebudgettet er en valgt sammenligningslinje, ikke en universel grænse mellem godt og dårligt. Eksemplerne anbefaler ikke noget spil, hardwarekøb eller nogen reparation.