Frametimes onder de loep: waarom FPS je kan misleiden

32 reacties
Inhoudsopgave
  1. 1. Inleiding
  2. 2. Frames of beelden per seconde
  3. 3. Van frames per seconde naar seconden per frame
  4. 4. De achilleshiel van het gemiddelde
  5. 5. Percentielen
  6. 6. Lage frame times, hoge percentielen
  7. 7. Tot slot
  8. 32 reacties

Percentielen

Een percentiel is een term uit de statistiek, en wordt berekend door alle frame times van laag naar hoog te ordenen en te verdelen in 100 delen van gelijke grootte. Op die manier krijg je meer overzicht over de distributie van alle data. Gaat het bijvoorbeeld om het 60e percentiel, dan is 60 procent van alle frame times gelijk aan óf kleiner dan dit getal, en 40 procent juist hoger. Blijkt uit een test dat het 90e percentiel 13,3 ms bedraagt, dan is 90 procent van alle gemeten frames in 13,3 ms of sneller gereed.

Herinner je je nog de grafiek van de vorige pagina? Hieronder hebben een vergelijkbare grafiek met opnieuw één seconde aan testdata op twee systemen.

Het gemiddelde van deze twee systemen is opnieuw niet zo interessant, ze halen namelijk allebei een gemiddelde frame time van 33,3 ms wat 30 fps betekent. We krijgen een beter overzicht als we alle scores in de grafiek sorteren van laag naar hoog, zoals hieronder.

Met de oplopende frame times in deze grafiek is het beeld al wat minder chaotisch dan de vorige grafiek. In de ordening van laag naar hoog staan de beste (laagste) frame times dus links, en de slechtste (die de vervelende stotters veroorzaken) rechts in de grafiek. Dit is ook hoe een percentielgrafiek werkt, alleen worden voor de horizontale as dus percentielen gebruikt. Ook wordt in plaats van een staafdiagram (de 'balkjes') een lijngrafiek gebruikt. Dan komt de grafiek er zo uit te zien:

We weten dat frame times bij voorkeur zo laag mogelijk zijn, maar vooral dat we zo min mogelijk hoge frame times willen zien. Dat klinkt als hetzelfde, maar er is wel een verschil. In bovenstaand voorbeeld draait het spel op 30 fps en laat de monitor 30 beelden per seconde zien, per frame is er dus 33,3 ms tijd om gereed te maken. In dat geval hebben de frames die in mínder tijd klaar zijn geen extra meerwaarde, ze worden niet eerder getoond. Wil je je spel zo snel mogelijk laten draaien, dan zijn lage frame times wel wenselijk maar ook dan is eveneens de consistentie belangrijk voor de beste ervaring. De hogere frame times die rechts in de grafiek staan, zijn de gevallen die de vloeiende ervaring verstoren. Daarom richten we ons bij onze reviews voornamelijk op deze hogere percentielen.

0
*