WOOFY · Speellab

Dezelfde FPS, andere frameverdeling

Een FPS-teller vat een frequentie samen. Hij vertelt niet wanneer elk frame aankomt. Leer met deze bewust eenvoudige reeksen welke vragen een samenvatting kan beantwoorden en welke een tijdlijn nodig hebben.

Stel een andere vraag aan dezelfde gegevens

Waarom je twee FPS-getallen niet altijd kunt middelen

Stel je twee volledige intervallen voor: 10 ms en 30 ms. Samen duren ze 40 ms. Tel beide intervallen over die totale tijd.

De totale snelheid is 1000 × 2 ÷ 40 = 50 FPS. De omgekeerde waarde van het interval van 10 ms komt overeen met 100 FPS; die van 30 ms met ongeveer 33.33 FPS.

Het gemiddelde van 100 en 33.33 is ongeveer 66.67, niet de totale snelheid. Het langzame interval neemt driemaal zoveel tijd in. Houd aantallen intervallen en totale duur bij elkaar; dezelfde valkuil ontstaat bij opnamen van verschillende lengte.

Drie reeksen, dezelfde totale tijd

Elke reeks bevat 1000 volledige frame-intervallen van samen 10000 ms. Een interval is de tijd tussen opeenvolgende framegebeurtenissen. Hier geldt: gemiddelde FPS = 1000 × aantal intervallen ÷ totale milliseconden. Het zijn synthetische intervallen, zonder opnamegrenzen of ontbrekende records.

De horizontale positie is de volgorde van de intervallen, niet de verstreken tijd. De verticale hoogte is de duur, van 0 tot 120 ms. De tekst en cijfers hieronder beschrijven dezelfde gegevens.

Gelijke tussenpozen

Elk interval duurt 10 ms. Geen interval overschrijdt het referentiebudget voor 60 FPS van ongeveer 16.67 ms.

Gemiddelde FPS
100
P99-interval (ms)
10
Langste interval (ms)
10
Intervallen boven budget
0
Aandeel intervallen boven budget (%)
0
Aandeel totale tijd in die intervallen (%)
0
Langste aaneengesloten groep boven budget
0
Referentiebudget (ms)
16,67

Tien verspreide lange intervallen

Elk honderdste interval duurt 109 ms; de overige 990 duren 9 ms. De lange intervallen zijn gescheiden. Het gemiddelde blijft 100 FPS, maar P99 is slechts 9 ms.

Gemiddelde FPS
100
P99-interval (ms)
9
Langste interval (ms)
109
Intervallen boven budget
10
Aandeel intervallen boven budget (%)
1
Aandeel totale tijd in die intervallen (%)
10,9
Langste aaneengesloten groep boven budget
1
Referentiebudget (ms)
16,67

Tien lange intervallen achter elkaar

Dezelfde tien intervallen van 109 ms staan nu achter elkaar aan het einde. De samenvattende waarden blijven gelijk aan de verspreide reeks, maar de langste aaneengesloten groep boven het referentiebudget groeit van één naar tien.

Gemiddelde FPS
100
P99-interval (ms)
9
Langste interval (ms)
109
Intervallen boven budget
10
Aandeel intervallen boven budget (%)
1
Aandeel totale tijd in die intervallen (%)
10,9
Langste aaneengesloten groep boven budget
10
Referentiebudget (ms)
16,67

Waarom P99 de langste intervallen kan missen

Dit lab sorteert intervallen van kort naar lang en kiest positie ceil(0.99 × N), geteld vanaf één. Bij 1000 intervallen is dat positie 990. In beide onregelmatige reeksen zijn de eerste 990 waarden 9 ms; alle tien intervallen van 109 ms komen daarna. Een lagere P99 bewijst hier geen gelijkmatigere ervaring. Andere tools kunnen andere percentielmethoden gebruiken.

P99 is geen universele ‘1% low FPS’

Een percentielgrens en een gemiddelde van de langzaamste intervallen zijn verschillende berekeningen. Het label ‘1% low’ identificeert de formule niet. Controleer de definitie, opnamemetriek en toolversie voordat je vergelijkt. Dit lab toont P99 in milliseconden en noemt het omgekeerde ervan geen 1% low.

Stel een andere vraag aan dezelfde gegevens

Kies een reeks en een referentiefrequentie. Een budget van 1000 ÷ referentie-FPS geeft 33.33 ms bij 30, 16.67 ms bij 60 en 8.33 ms bij 120. Een wijziging deelt de intervallen anders in; de reeks verandert niet en er wordt geen FPS-begrenzer gesimuleerd.

De drie voorbeelden hierboven gebruiken de referentie van 60 FPS. Gegevens, uitleg en methode blijven zonder interactieve bediening leesbaar.

Alleen intervallen die strikt langer zijn dan het referentiebudget tellen mee. Gelijke waarden vallen binnen het budget.

Het tijdsaandeel telt de volledige duur van elk geteld interval op, niet alleen de overschrijding. Dit is geen stotterscore of meting van invoervertraging. Een aaneengesloten groep beschrijft naburige intervallen, geen bewezen waarneembare hapering.

Vergelijk een instellingswijziging eerlijk

Gebruik je opnametool voor echte metingen. Dit lab leest je hardware niet uit en importeert geen opnamebestanden. Noteer het volgende voordat je beslist dat een instelling helpt.

  1. Bepaal één vraag

    Bijvoorbeeld: vermindert één gewijzigde grafische instelling herhaalde lange intervallen op dezelfde route? Houd spelversie, scène, resolutie, framelimiet, synchronisatie en overige instellingen gelijk. Noteer uitzonderingen.

  2. Maak vergelijkbare opnamen

    Warm steeds op dezelfde manier op en gebruik dezelfde route en opnameduur. Herhaal elke conditie en wissel waar praktisch de volgorde af. Houd laden bij de eerste uitvoering of shaderwerk apart van een opgewarmde test; verwijder ongunstige pieken niet zonder de reden vast te leggen.

  3. Lees samenvattingen naast de tijdlijn

    Vergelijk gemiddelde frequentie, staartwaarden, maximale intervalduur en de plaatsen van lange intervallen. Overlappen herhaalde resultaten sterk, meld dan dat de uitkomst onduidelijk is in plaats van de beste opname te kiezen. Het gemiddelde kan gelijk blijven terwijl de frameverdeling nuttig verandert.

  4. Benoem de reikwijdte van je conclusie

    Noteer de gewijzigde instelling, vaste condities, herhaalde resultaten en resterende onzekerheid. Aanbiedingsintervallen van de applicatie, weergegeven frames en gegenereerde frames kunnen verschillen. Vergelijk dezelfde metriek; leid uit alleen deze cijfers geen invoervertraging of CPU/GPU-defect af.

Van een resultatentabel naar een onderbouwde conclusie

Elk geval stelt een andere vraag: herhaalde het voordeel zich, verbeterde de gekozen maat en zijn de opnamen correct samengevoegd? Lees de waarnemingen voordat je beslist wat ze ondersteunen.

Alle onderstaande opnamen zijn geconstrueerde lesgegevens van volledige intervallen, geen echte benchmarkopnamen. A en B zijn labels, geen aanbevolen instellingen. De voorbeelden bepalen geen minimumaantal herhalingen of regel voor statistische significantie.

De beste opname suggereert een winnaar; de volledige set niet

In dit geconstrueerde voorbeeld wisselen A en B elkaar af op dezelfde route, telkens 60 seconden, met dezelfde meetgrootheid, opwarming, resolutie en overige omstandigheden. De vraag is of B in deze drie paren een herhaalbaar voordeel in gemiddelde snelheid laat zien.

HerhalingspaarA · Gemiddelde FPSB · Gemiddelde FPSVerschil B − A (FPS)
11001033
210299-3
31011010

A

Totale FPS over de volledige duur
101
Laagste gemiddelde FPS van de opnamen
100
Hoogste gemiddelde FPS van de opnamen
102

B

Totale FPS over de volledige duur
101
Laagste gemiddelde FPS van de opnamen
99
Hoogste gemiddelde FPS van de opnamen
103

Alleen het hoogste resultaat kiezen geeft A 102 en B 103 FPS. Alle even lange opnamen behouden geeft beide in totaal 101 FPS. De verschillen per paar zijn +3, −3 en 0 FPS: de richting verandert.

Wat je kunt concluderen

Deze set toont geen consequent voordeel in gemiddelde FPS voor B. Hij bewijst ook niet dat de instellingen gelijkwaardig zijn; een kleine geconstrueerde steekproef kan dat niet vaststellen.

Wat je hierna moet controleren

Herhaal vergelijkbare waarnemingen en bekijk de verschillen samen met de opnameomstandigheden. Bewaar alle geldige opnamen en documenteer uitsluitingen. Als de volgorde of achtergrondwerk een resultaat kan verklaren, verbeter dan de vergelijking voordat je een winnaar kiest.

Grens van de conclusie

Overlappende bereiken zijn een beschrijving, geen significantietoets. Eén beste opname en een vast aantal herhalingen zijn geen universele beslisregels.

Het gemiddelde verbetert terwijl een maat voor lange intervallen verslechtert

Beide geconstrueerde opnamen duren tien seconden. A bevat 980 intervallen van 10 ms en tien van 20 ms. B bevat 1180 intervallen van 8 ms en twintig van 28 ms. Gebruik voor beide dezelfde referentie van 60 FPS, ongeveer 16.67 ms.

A

Duur (s)
10
Volledige intervallen
990
Gemiddelde FPS
99
Intervallen boven de referentie van 60 FPS
10
Tijdsaandeel in die intervallen (%)
2

B

Duur (s)
10
Volledige intervallen
1.200
Gemiddelde FPS
120
Intervallen boven de referentie van 60 FPS
20
Tijdsaandeel in die intervallen (%)
5,6

A telt 990 intervallen en B 1200: 99 tegenover 120 FPS. De getelde intervallen duren samen 200 ms in A en 560 ms in B, ofwel 2% tegenover 5.6% van de totale tijd. Deze percentages beschrijven tijd, niet het aandeel van het aantal intervallen.

Wat je kunt concluderen

B heeft in dit voorbeeld de hogere gemiddelde snelheid, maar meer tijd ligt in intervallen boven de gekozen referentie. De cijfers ondersteunen een afweging, geen algemene winnaar in vloeiendheid.

Wat je hierna moet controleren

Benoem of je echte vraag gaat over gemiddelde snelheid, terugkerende lange intervallen of een ander gemeten resultaat. Vergelijk herhaalde opnamen van dezelfde scène en bekijk waar de intervallen optreden voordat je de instelling behoudt.

Grens van de conclusie

Eén A/B-paar toont geen herhaalbaar effect aan. De drempel is een gekozen referentie; dit voorbeeld meet geen waarneming of invoervertraging en bepaalt niet de oorzaak van een lang interval.

Ongelijke opnameduren kunnen een simpele rangschikking omkeren

A combineert tien seconden bij 120 FPS met negentig seconden bij 60 FPS. B combineert twee opnamen van vijftig seconden bij 80 FPS. Elk label beslaat dus 100 seconden. De opnamen van A verschillen in lengte; die van B zijn even lang.

OpnameDuur (s)Volledige intervallenGemiddelde FPS
A1101.200120
B1504.00080
A2905.40060
B2504.00080

A

Totale FPS over de volledige duur
66
Rekenkundig gemiddelde van FPS-waarden per opname
90

B

Totale FPS over de volledige duur
80
Rekenkundig gemiddelde van FPS-waarden per opname
80

A bevat 1200 + 5400 = 6600 intervallen: 66 FPS over 100 seconden. B bevat 4000 + 4000 = 8000: 80 FPS. Het gemiddelde van de twee weergegeven FPS-waarden van A is 90, waardoor A ten onrechte boven B komt als dit als totale doorvoersnelheid wordt gepresenteerd.

Wat je kunt concluderen

Over de volledige duur geven de geconstrueerde gegevens A 66 en B 80 FPS. De verkorte berekening van 90 FPS geeft hetzelfde gewicht aan opnamen van heel verschillende lengte.

Wat je hierna moet controleren

Gaat je vraag over totale doorvoersnelheid, combineer dan intervalaantallen en tijdsduren. Vergelijk je instellingseffecten, stem dan ook scèneopbouw, opwarming en meetgrootheid af; correcte berekeningen herstellen geen verschillende omstandigheden.

Grens van de conclusie

Een gemiddelde van FPS per opname beantwoordt een andere vraag en is niet op zichzelf ongeldig. Noem het niet de totale snelheid. Deze samengevoegde waarden alleen tonen niet aan dat B een verbetering veroorzaakte.

Verander de samenvatting, behoud de opnamen

Gebruik dezelfde geconstrueerde gegevens om de berekening over de volledige duur met de verkorte methode van elk geval te vergelijken. Alleen de samenvatting verandert. De opnamen en omstandigheden blijven gelijk.

Een nuttige conclusie mag onzekerheid bevatten

‘Beide voorbeelden halen gemiddeld 100 FPS, maar hun intervalpatronen verschillen’ volgt uit deze gegevens. ‘Deze pc zal soepel aanvoelen’ niet. Behoud bij eigen tests de instellingen pas nadat je herhaalde vergelijkbare metingen en de gewenste ervaringsverbetering hebt gecontroleerd.

Wat deze oefening niet kan vertellen

Deze reeksen illustreren rekenkunde, geen menselijke waarneming. Ze bevatten geen schermverversingsgedrag, variabele verversingssnelheid, framegeneratie, invoervertraging, netwerkvertraging of oorzaak van een lang interval. Het budget is een gekozen vergelijkingslijn, geen universele grens voor goed of slecht. Deze voorbeelden bevelen geen spel, hardwareaankoop of reparatie aan.