Benchmarks richtig gemacht -oder- fps ist nicht das Wahre

Freie Themenwahl.

Moderator: Moderator

Benchmarks richtig gemacht -oder- fps ist nicht das Wahre

Beitragvon ChemicalBrother » 07.01.2013, 13:07

Es geht darum, wie man Benchmarks bei Computerspielen richtig macht und dabei sind die fps, also die frames per second nicht der beste Ansatz. Ich weiß nicht, ob ihr das schon mal hattet, dass 30 fps oder sogar 60 fps immer noch ein bisschen "ruckelig" aussahen, obwohl es bei einer solchen Framerate bereits butterweich sein sollte. Möglicherweise sehe ich das nur so, weil ich ne AMD Radeon Grafikkarte habe (siehe den Test weiter unten). Auf jeden Fall gibt es ein Problem mit den frames per second, weil 1 Sekunde viel zu lange ist, um in der schnellen Welt der Spiele Diskrepanzen aufzeigen zu können. Viel wichtiger sind Millisekunden pro Frame, bzw. die Zeit, die es braucht, um ein Bild zu rendern. Und genau hier kann man feststellen, dass die Testmethode "fps" für Spiele nicht immer geeignet ist.

Die Webseite "the tech report" hat sich (jetzt nicht in LInux) einige Spiele angeschaut, die zwischen Nvidia und AMD verglichen und vor allem neben den fps, die eigentlich normal aussahen, auch die Millisekunden für das Rendern der Bilder angesehen, wo erhebliche Diskrepanzen auftraten und erst diese Testergebnisse zeigten, was das Auge schon lange sieht.

Erstmal zum Test:
the tech report: Radeon HD 7950 vs. GeForce GTX 660 Ti revisited

Wenn ihr runterscrollt, könnt ihr die verschiedenen Seiten der Tests anschauen. Die ersten zwei Seiten erklären den Versuchsaufbau und ab Seite 3 geht es mit Borderlands II los. Am ersten Graphen könnt ihr dann auch gleich den Unterschied sehen.

Ein kleines Rechenbeispiel kann auch zeigen, welche Probleme fps manchmal bereiten können, zB. der Vergleich von 210 fps zu 240 fps. Wie relevant ist dieser Unterschied? Drehen wir die Zahlen doch einfach mal um und schauen, was das in Millisekunden pro Frame heißen würde: 4,76 ms (210 fps) - 4,17 ms (240fps).

Und jetzt zum Vergleich mal 30 fps zu 60 fps: 33,33 ms (30 fps) - 16,67 ms (60 fps).

Oder 15 fps zu 30 fps: 66,67 ms (15 fps) - 33,33 ms (30 fps).

Oder 30 fps zu 31 fps: 33,33 ms (30 fps) - 32,26 ms (31 fps).

Es gibt fast keinen Unterschied zwischen 210 fps zu 240 fps in diesem Beispiel. Der Unterschied zwischen 30 und 31 fps ist sogar fast doppelt so groß wie der zwischen 210 zu 240 fps. Das ist jetzt nur ein einfaches Rechen- und Extrembeispiel, soll aber aufzeigen, welche Grenzen das Testen von Spielen hat, wenn man sich nur die Frames per Second anschaut.

Es geht mir jetzt nicht darum zu sagen, dass fps jetzt irrelevant sind. Vielmehr ist es wichtig zu wissen, dass fps nicht alles sind und manchmal auch zu einer falschen Sichtweise verleiten. Ich habe irgendwo mal gelesen, dass manche Entwicklerteams schon intern sich Millisekunden pro Frame anschauen statt fps, kann den Artikel nur leider nicht mehr finden. Aber zumindest haben diese Entwickler das Problem schon lange erkannt.
Benutzeravatar
ChemicalBrother
 
Beiträge: 5332
Registriert: 21.08.2006, 21:17
Wohnort: Langen
Lizenz: CC
Distribution: Arch Linux
Kernelversion: 6.0

Re: Benchmarks richtig gemacht -oder- fps ist nicht das Wahre

Beitragvon Bauer87 » 07.01.2013, 23:03

Erst dachte ich, dass du nen interessanten Aspekt ansprechen möchtest, dann bist du aber nur darauf hinaus, dass 1FPS unterschied bei wenigen FPS mehr ausmacht als bei vielen. (Das war klar.) Mathematisch gesehen forderst du auch nur, den besser Kehrwert zu betrachten – also 1/FPS statt der FPS selbst.

Was viel entscheidender wäre – und danach klingt auch „weil 1 Sekunde viel zu lange ist“ – die Framerate (oder auch die MS/Frame, wenn man das lieber mag) nicht nur jede Sekunde zu bestimmen. Um mit einem Extrembeispiel zu kommen: Wenn man nur zählt, wie viele Bilder man in 10 Sekunden hatte und dann durch die Zahl der Bilder teilt, hat man meinetwegen 600 Bilder in 10 Sekunden = 60FPS (= 16,67 ms pro Frame). Das ist aber natürlich nur ein Mittelwert. Wenn zwischendurch ne halbe Sekunde lang nichts kam, gab es einen (unerträglichen!) Ruckler, und abgesehen davon im Schnitt alle 15,8 ms einen Frame. Faktisch ist nämlich für den flüssigen Eindruck immer der Frame entscheidend, der am längsten gebraucht hat. Man sollte also mindestens (wie eigentlich bei jedem Mittelwert) zusätzlich eine Standardabweichung oder Varianz angeben.
Benutzeravatar
Bauer87
 
Beiträge: 1233
Registriert: 31.10.2006, 23:28
Wohnort: Oldenburg
Lizenz: CC BY-SA 3.0
Distribution: Debian Stretch
Kernelversion: 4.9

Re: Benchmarks richtig gemacht -oder- fps ist nicht das Wahre

Beitragvon ChemicalBrother » 08.01.2013, 00:49

Vielleicht hätte ich den Link prominenter platzieren sollen, weil der ist nämlich der eigentliche Grund, warum ich den Text geschrieben habe. Hast du dir die Testreihe im Link überhaupt angeschaut?
Benutzeravatar
ChemicalBrother
 
Beiträge: 5332
Registriert: 21.08.2006, 21:17
Wohnort: Langen
Lizenz: CC
Distribution: Arch Linux
Kernelversion: 6.0

Re: Benchmarks richtig gemacht -oder- fps ist nicht das Wahre

Beitragvon Bauer87 » 08.01.2013, 10:22

Ich hab mir das schon angeschaut. Für essenziell halte ich folgenden Punkt:
We think gamers would be better served by skipping the FPS average and instead taking a latency-focused approach to frame delivery, if they really want to understand gaming performance. One alternative method is to consider the 99th percentile frame time, which is simply the threshold below which 99% of all frames have been generated. In the chart above, the Radeon HD 7950 has delivered 99% of the frames in under 31.7 milliseconds or less. That means all but the last one percent of frames were produced at a rate of 30 FPS or better—not too shabby.


Das entspricht etwa dem, was ich gemeint habe: Der Moment schlechtester Performance entscheidet über den Gesamteindruck. Ob man dazu FPS oder „time per frame“ betrachtet, ist aber prinzipiell egal. Statt „time spent beyond 50ms“ hätte man auch „time below 20FPS“ angeben schreiben können. Es stimmt zwar, dass „time per frame“ einen etwas besseren Eindruck geben kann, aber deine Zusammenfassung überspringt leider das (in meinen Augen) wichtigste: Dass der Artikel endlich mal nicht nur Durchschnittswerte angibt, sondern die subjektiv viel wichtigeren Ausreißer. Während andere Magazine ständig von subjektiven „Microrucklern“ erzählen, unter denen man sich nicht wirklich etwas vorstellen können, wurde hier ein „badness meter“ erfunden, das „gelegentliches Ruckeln“ endlich in Zahlen ausdrückt.

PS: Danke für den Link. Die Idee ist sehr interessant und ich hatte ehrlich gesagt noch nicht so drüber nachgedacht. Ich fand es nur schade, dass du das wirklich tolle an dem Benchmark leider nicht 'rübergebracht hast.
Benutzeravatar
Bauer87
 
Beiträge: 1233
Registriert: 31.10.2006, 23:28
Wohnort: Oldenburg
Lizenz: CC BY-SA 3.0
Distribution: Debian Stretch
Kernelversion: 4.9

Re: Benchmarks richtig gemacht -oder- fps ist nicht das Wahre

Beitragvon ChemicalBrother » 08.01.2013, 11:55

Ja, mach ich das nächste Mal, ich hatte nur im Hintergedanken, dem Artikel nicht zu viel zu "stehlen". :-)
Benutzeravatar
ChemicalBrother
 
Beiträge: 5332
Registriert: 21.08.2006, 21:17
Wohnort: Langen
Lizenz: CC
Distribution: Arch Linux
Kernelversion: 6.0


Zurück zu Alles was euch den Tag über bewegt...

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

cron