Das Benchmarkmonster

Sonntag, 9. November 2008
 / von BlackBirdSR
 

Das Benchmarkmonster

Wer schon jetzt die ersten großen Vergleiche erwartet, muss sich noch ein wenig gedulden. Wie bereits angedeutet, sind die eingesetzten Methoden etwas ungewöhnlich, bzw. auf den ersten Blick unübersichtlich. Üblicherweise kommen einheitliche Balkendiagramme oder einzelne Messwerte zum Einsatz. Die Masse an verschiedenen Spielen oder Anwendungen führt dann zu einer großen Aneinanderreihung von, mehr oder weniger nützlichen, Ergebnissen. Für die Interpretation sind Werte und Leser dann oftmals selbst zuständig. Anstelle einer einheitlichen und leichter erfassbaren Präsentation wollen wir daher Erklärungen und Diskussionen selbst diese Aufgabe übertragen. Ob dieser Ansatz Erfolg hat, wird sich erst mit der letzten Seite zeigen müssen.

Die nächsten Minuten wird sich der Artikel vor allem mit dem Begriff "Benchmarking" befassen. Wir finden, dass dieses Wort so viele Möglichkeiten, Fehler und Unsicherheiten enthält, dass man den Leser zuerst eingehend an die eigene Sichtweise heranführen sollte. Sichtweise deswegen, weil keine Benchmark-Methode korrekt oder gar perfekt sein kann. Ein wenig lässt sich die Sache mit der Unschärferelation vergleichen, zumindest wenn man unverschämt ist. Denn auch hier gibt es zwei Zustände, die sich gegenseitig ausschließen. Entweder erhält man hohe Genauigkeit und zuverlässige Werte, oder man schrumpft den Zeitbedarf auf ein effizientes Maß. Beides zusammen ist der vergebliche Wunschtraum gar vieler Redakteure.

Timedemos und Durchschnittswerte

Eines der bisher größten Probleme, mit denen jeder Artikel zu kämpfen hat, sind Timedemos. Diese unglaublich beliebten, unkomplizierten Hilfsmittel, waren über Jahre hinweg die einzige Methode, um CPUs oder Grafikkarten zu testen. Freilich hat Anfang der 90er keiner einen Gedanken an praxisfremde Testumgebung oder spezifische Treiberoptimierungen verschwendet. Selbst als erste Zweifel aufkamen, war die Versuchung immer noch sehr groß: Programmaufruf, kurz warten, Ergebnis notieren und fertig.

Wo genau liegt nun das Problem bei üblichen Timedemos? Nicht alle, aber viele Timedemos vernachlässigen gegenüber der eigentlichen 3D-Darstellung fundamentale Bereiche des eigenen Spiels. Es kann sich dabei um die "KI" von Bots, Einheiten in Strategiespielen oder um die Input-Routinen des Benutzers handeln. Auch die Berechnung des Sounds fällt oftmals in diese Kategorie. Sogenannte "Flybys" setzen sogar noch einen drauf: Entlang vorgegebener Bahnen wird eine Demo abgespielt, der meist jeglicher Bezug zum Spielgeschehen selbst fehlt. Kaum besser: Introsequenzen in der Spiele-Engine.

Aber warum regen wir uns auf? Schließlich interessieren doch nur vergleichbare Werte bei CPU- oder GPU-Benchmarks, und da scheint es doch egal, wie diese entstanden sind? Prinzipiell richtig, allerdings verlieren sich somit wichtige Informationen zur benötigten CPU, sowie des echten Spielgefühls auf der genutzten Hardware. Wie dieses Problem aussehen könnte, wollen wir anhand des nächsten Diagramms erläutern (wer mehr Beispiele sehen will, kann sich die verschiedenen früheren Performancereports auf 3DCenter zu Gemüte führen).

Forderndes Comanche4-Timedemo
Forderndes Comanche4-Timedemo

Zu sehen ist der Frameverlauf eines Comanche4-Timedemos. Da Comanche4 schon einige Jahre auf dem Buckel hat, ist ein Ergebnis von 98,6 Frames pro Sekunde wenig verwunderlich. Die interessieren aber wahrscheinlich eh keinen mehr, sobald man den bösen Einbruch in der Mitte bemerkt hat. Um es vorwegzunehmen, das ist kein Fehler. Hier gerät selbst Intels 3-GHz-Monster in Bedrängnis und liefert kurzzeitig nur noch 34 fps. Halb so wild möchte man denken, schließlich bewegt sich der Rest auf sehr hohem Niveau. Alles prima also! Allerdings haben wir rein zufällig auch eine Szene aus dem eigentlichen Spiel anzubieten.

Steht das Diagramm jetzt Kopf? Tatsächlich hat dieses Diagramm mit dem ersten nur den Namen des Spiels und die Auflösung gemein. Über knappe 30 Sekunden haben wir ein paar Raketen in die Bäume gefeuert und uns ein wenig auf und ab bewegt. Das alleine genügt, um die Ergebnisse des Timedemos quasi umzukehren. Und hier wurde nicht annähernd so viel an Effekten und Geometrie gezeigt, wie es bei richtigen Kämpfen im Spiel vorkommen kann und wird. Werte unter 40 fps sind also nicht nur einmalig, sondern durchaus über längere Zeit im Spiel vertreten. Und zur Erinnerung, wir reden hier über einen 3 GHz Intel Core 2 Duo. Aus dem ersten Diagramm lässt sich das alles nicht erahnen. Schlimmer noch, wer nur den Durchschnitt von 98,6 bzw. 76,4 fps angibt, erzeugt beim Leser einen völlig falschen Eindruck.

Durch Beobachtungen wie diese ist 3DCenter der Meinung, dass Timedemos nur noch sehr eingeschränkt zu gebrauchen sind. Vertrauen sollte man nur noch den Timedemos, von denen man um die Ähnlichkeit zum Spielgeschehen weiß. Oder aber, wenn man genau vor Augen hat, was man erreichen will. So ist der reine Vergleich zweier Grafikchips für die Abschätzung der Antialias-Leistung wohl noch über eine Timedemo durchführbar. Kommt die CPU ins Spiel, sieht die Sache aber schnell anders aus. Das spiegelt sich auch im Durchschnittswert (average-fps) wider, welcher kaum Aussagen zum Ablauf der Demo machen kann.

Was ist die Alternative? Es gibt durchaus Situationen, in denen eine Timedemo ausreicht. Wichtig ist, diese genau zu kennen. Denn liegt man mit der Timedemo richtig, gewinnt man einen unschätzbaren Zeitvorteil gegenüber den folgenden Methoden. Mittels Savegames werden dagegen echte Spielszenen nachgespielt und über Fraps aufgezeichnet. Das ist sicherlich der erste lobenswerte Schritt, den einige Tester mitgegangen sind. Allerdings sollte man dann nicht über die Durchschnittswerte stolpern! In der Praxis liegt der Mehraufwand weit höher als bei Timedemos. Neben der Suche nach geeigneten Stellen für jede gewünschte Situation muss der Tester jeden unnatürlichen Framerateneinbruch erkennen und aussortieren. So ein Test kann im Grunde nicht ohne die vollständige Aufmerksamkeit des Testers vonstatten gehen.