Door Reinoud Dik

Redacteur

Cpu-corescaling in games

Hoeveel cpu-cores heb je nodig voor gaming?

24-04-2021 • 06:00

196

Singlepage-opmaak

Wat zijn frametimes?

Als echte tweaker ben je ongetwijfeld bekend met de term fps, frames per seconde. Deze term wordt al sinds jaar en dag gebruikt om de (gaming)prestaties van verschillende hardwarecomponenten uit te drukken en ze zo te kunnen vergelijken. Hoe meer fps een systeem haalt, hoe beter de betreffende game draait. Dat is althans de algemene opvatting.

Om tot de illusie van een animatie te komen, moet een aantal beelden per seconde worden getoond. Bij films worden vaak rond de 24 beelden per seconde gebruikt omdat dit voor de meeste mensen genoeg is om een animatie in plaats van losse beelden te zien. Toch kan vrijwel iedereen het verschil zien tussen een animatie van 24 en een animatie van 48 beelden per seconde: die laatste komt veel vloeiender en soepeler over in ons brein. Hiervoor is wel vereist dat de beelden van de animatie met een gelijk interval worden opgevolgd. Mist er plotseling één beeld of wordt het juist langer getoond dan andere, dan zijn onze hersenen uitstekend in staat om deze afwijking op te merken omdat de illusie van (een vloeiende) animatie wordt doorbroken.

Kegels animatie
Vertraagde animatie waarbij de rechter kegel enkele beelden mist.

In tegenstelling tot beelden in films of series worden beelden in games niet vooraf gerenderd. Op een pc of console moet elk afzonderlijk beeld worden opgebouwd. Bovendien mag dit per beeld niet te lang duren, om de hierboven besproken reden. Ook niet als in het spel de grafische complexiteit plotseling toeneemt door bijvoorbeeld in-game explosies, lichteffecten en veel of snel bewegende objecten. Elk gerenderd beeld mag niet te lang op zich laten wachten om de animatie vloeiend en prettig te kunnen houden. Dat is bij gamen op een monitor of televisie belangrijk, maar bij gebruik van een VR-bril zelfs nog urgenter om niet duizelig of misselijk te worden. Juist vanwege deze onvoorspelbaarheid is het belangrijk om de animatie onder een vergrootglas te leggen: we moeten verder kijken dan alleen naar het totaal aantal beelden per seconde, en inzoomen op wat er binnen die seconde gebeurt.

Van frames per seconde naar seconden per frame

Frames per seconde, de term zelf laat eigenlijk al vallen dat het een totaalscore is van het aantal beelden dat in een seconde tijd is getoond. Omdat dit niets zegt over de distributie van de beelden binnen die seconde, geeft de fps-score geen informatie over hoe vloeiend de ervaring voor de speler daadwerkelijk is. Interessanter is het daarom om te kijken naar de tijd die het kost om elk frame (beeld) te renderen. Daarbij wordt ook wel over frametimes gesproken, en deze worden in milliseconden gemeten, afgekort tot ms. Het concept van frametimes is niks nieuws. Scott Wasson, destijds redacteur bij The Tech Report, stelde in 2011 al dat fps-scores niet alles zeggen over de consistentie en uiteindelijke ervaring voor gamers.

Een frame dat snel gerenderd is, kan ook snel worden getoond, wat in een consistente opvolging de illusie van animatie in stand houdt en vloeiender gameplay oplevert dan frames waarbij het significant langer duurt om ze te renderen. In de tabel hieronder zie je hoe lang elk beeld getoond moet worden om tot een bepaalde framerate te komen. Tijdens het tonen van elk beeld wordt die tijd gebruikt om het opvolgende beeld klaar te maken. En hoewel het voor de hand ligt, wordt hiermee dus ook direct duidelijk dat je snellere hardware nodig hebt om op hogere framerates te spelen: dezelfde beelden moeten dan in minder tijd worden gerenderd.

Frametime in milliseconden Frames per seconde
33,3 ms 30 fps
25 ms 40 fps
20 ms 50 fps
16,67 ms 60 fps
13,33 ms 75 fps
11,11 ms 90 fps
10 ms 100 fps
8,33 ms 120 fps
6,94 ms 144 fps