Zum 3DCenter Forum
Inhalt




Serious Sam Benchmarking

5. April 2001 / von Leonidas / Seite 2 von 4


Screenshot Intro-Level


 Benchmark-Settings & -Prozedur

Eine scheinbar einfache Geschichte: Einfach unter den "Video Options" etwas einstellen und los geht die wilde Fahrt. Dem ist leider nicht ganz so. Die unter den "Video Options" verfügbaren Settings stellen laut meiner Erfahrung nur einen Teil der Wahrheit dar, sprich: Sie stellen nicht alle Optionen ein, sind also sehr "weich" ausgelegt. Zum Spielen ist das komplett in Ordnung - aber zum Benchmarken braucht man feste Settings, welche für jede Hardware gleichermaßen gelten.

Deshalb lautet meine Empfehlung, unter den "Video Options" mehr oder weniger nur die Auflösung und die Farbtiefe einzustellen und dann die beiden Settings zu benutzen, die unter "Execute Addon" zu finden sind: Extreme Quality und Default Quality. Laut dem Quelltext dieser Settings (zu finden unter "/Scripts/Addons/...") setzen diese auch wirklich alle relevanten Optionen auf feste Werte und sind somit unbedingt den Standard-Settings vorzuziehen.

Zwei Anmerkungen: Zum einen erreicht die "Default Quality" ungefähr das Niveau des Settings "Quality", ohne jedoch wirklich gleich zu sein. Die Settings "Speed" und "Normal" sind aufgrund der ziemlich großen CPU-Last in Serious Sam im übrigen kaum schneller als "Quality" Und zum anderen empfehle ich, bei allen Neustarts zum Benchmark-Zwecke die Settings "Default Quality" und "Extreme Quality" jeweils neu einzuladen - nur um ganz sicher zu gehen. Das Spiel verstellt sich in eigenen Optionen dynamisch anhand der vorgefundenen Hardware selbst, was für das Benchmarking einigermaßen ungünstig ist.


Nachdem dies geklärt ist, ist es wirklich einfach. Vorausgesetzt, daß Kommando dem_bProfil wurde vorab auf 1 gesetzt, geht man einfach in den Demo-Bereich und startet ein Demo. Nach dem Ende diesen stehen die erreichten Werte in der Konsole ("Tilde"-Taste), was wie folgt ausschaut:

fps-Ergebnis in der Konsole

Wie zu sehen ist, gibt es zwei Ergebnisse, einmal ein normales ("original recorded") und zum anderem "without excessive peaks". Der Sinn des letzteren bezieht sich eigentlich darauf, besonders hohe und tiefe Frameraten aus der Auswertung zu entfernen, damit diese nicht die normalerweise erreichte Framerate ungebührend verfälschen. Es handelt sich dabei meist nur um Zehntelsekunden, die "herausgeschnitten" werden.

Der Zweck wäre, zu verhindern, daß eine Grafikkarte mit durchschnittlich nur 30 fps diese Zahl über einige 100-fps-Passagen erreicht und ansonsten eigentlich nur 20 fps liefert. Der Vorteil sollte also eigentlicherweise bei diesen Grafikkarten liegen, die konstant 30 fps liefern. Leider ist dieses Vorhaben wie schon bei der Test2 gründlich schief gegangen - denn gemäß dieser ursprünglichen Idee sollte "without excessive peaks" prinzipiell niedrigere Frameraten ergeben. Genau das umgekehrte ist der Fall - die Frameraten sind meist um ein bis drei Frames per Secound höher. D.h. die bei Serious Sam angewandte Berechnungsmethode schneidet vorwiegend einige absolute Tiefstwerte ab und nicht die extremen Spitzen.

Dies stellt natürlich die ursprüngliche Idee auf den Kopf und damit kann ich momentan wirklich nur empfehlen, rein mit dem normalen Ergebnis (dem ersten) zu arbeiten. "Without excessive peaks" funktioniert einfach nicht so, wie es sollte. Wahrscheinlich liegt es an der angewandten Berechnungsmethode, die einfach (noch) nicht in der Realität funktioniert. Auf jeden Fall sollte aber für veröffentlichte Benchmarks angeben werden, welchen der beiden Werte man benutzt hat.

Ideal wäre beim Thema "Framerate without excessive peaks" meiner Meinung nach folgendes: Alle Frames, die 50 % über der normal ermittelten Framerate liegen, sind auf 50 % der normal ermittelten Framerate setzen - und damit ist dann die Framerate "without excessive peaks" zu errechnen. Dies würde z.B. bei 38 fps laut normaler Berechnung bedeuten, daß alle Frames, welche über 57 fps liegen, in die Berechnung zu dieser seperaten Framerate nur mit 57 fps einbezogen werden. Dann würde auch ein Peak-Wert von 200 fps nur mit 57 fps zur Berechnung der Gesamt-Framerate herangezogen werden und diese Gesamt-Framerate nicht nach oben hin verfälschen. Eventuell verwirklicht es zukünftig einmal ein Spiele-Designer ...



Mittels der vorbeschriebenen Befehls DumpDemoProfile() kann man sich dann noch eine detaillierten Auflistung der pro jeder einzelnen Sekunde erreichten Framerate in eine Datei auswerfen, wobei selbstverständlich auch oben abgebildete Zusammenfassung mit gespeichert wird. Alles in allem trotz des Fehlers bei "without excessive peaks" eine sehr luxeriöse Benchmarking-Funktion, die Serious Sam da zu bieten hat.






Kommentare, Meinungen, Kritiken können ins Forum geschrieben werden - Registrierung ist nicht notwendig Zurück / Back Weiter / Next

Shortcuts
nach oben