Einige wenige Dinge sollte man bevor
man beginnt bei dem Benchmarken
beachten:
- Um möglichst allen störenden Einflüssen
ausschliessen zu können, sind sämtliche
Programme, welche nicht
nötig sind (das sind meist alle
aus der Tastkleiste bei der Uhr,
z.B. ICQ, GetRight, Napster, Virenscanner
und alle anderen unnützen Dinge)
aus dem Speicher zu entfernen d.h.
zu beenden!
- Besorgen Sie sich jeweils die
neuste Version des Benchmarks
beziehungsweise den neusten Patch
des Spiels, um allfällige Leistungs-Bugs
zu umgehen.
- Die neusten Grafikkartentreiber
sind meist auch unerlässlich, aber
auf BETA-Treiber
sollte man verzichten,
sind diese manchmal entweder noch
nicht auf Leistung getrimmt, oder
dann noch voller Bugs oder beides.
Ausnahmen bestätigen die Regel.
- Benchmarkergebnisse sollten reproduzierbar
sein. Das ist leider nicht immer
möglich, Windows-Timing und anderen
Einflüsse beeinflussen die Messgenauigkeit
in einem nicht unerheblichen Masse.
Trotzdem sollte man sich jeweils
die Einstellungen merken. Die genaue
Systemkonfiguration (RAM, CPU, Grafikkarte,
Soundkarte etc.) sollte man sich
ebenfalls notieren, um später eventuelle
Schlüsse ziehen zu können.
- Wählen Sie für Ihre Messungen
feste Refresh-Raten,
für alle Grafikkarten dieselben!
Je höher die Refresh-Rate, umso
öfter greift der RAMDAC auf den
Grafikspeicher zu, was wertvolle
Speicherbandbreite kostet. Messen
Sie mit unterschiedlichen Bildwiederholraten,
so verfälschen Sie die Vergleichsmessungen!
- Wählen Sie stets
die selbe Desktop-Auflösung.
Der 2D-Desktop belegt Speicher in
Ihrer Grafikkarte, der dann nicht
für Texturen zur Verfügung steht.
Wenn Sie die eine Grafikkarte testen,
während Ihr Desktop auf 1600x1200x32bit
eingestellt ist, und bei der anderen
Grafikkarte auf 1024x768x16bit,
so verfälschen Sie unter Umständen
das Endergebnis.
Man
sollte nie einem einzigen Wert vertrauen
Wenn Sie Benchmarkmessungen
durchführen, führen Sie diese mehrmals
durch. Wenn Sie eine Serie von Benchmarks
in einem Spiel machen (z.B. alle Auflösungen),
so wiederholen Sie unbedingt den ersten
Benchmark-Ablauf, da dieser sonst durch
Festplatten- und AGP-Speicherzugriffe
unüblich langsam erscheinen wird.
Auch würden wir nicht
nur eine Auflösungsstufe benchmarken.
Oft werden Messfehler, ob zufällig oder
strukturell, sofort ersichtlich, wenn
sie von 640x480 bis 1600x1200 Bildpunkte
Messungen durchführen
Sound
Ob Sie mit oder ohne aktive
Soundeffekte benchmarken, ist grundsätzlich
irrelevant, solange sie für Vergleichsmessungen
immer mit oder immer ohne Sound-Funktionen
messen. Die aktiven Sound-Effekte bremsen
zwar im Normalfall das System um 1-2%
aus, doch erzielt man damit realistischere
Ergebnisse, da das Spiel normalerweise
mit Soundeffekten gespielt wird. Die
Framenratenunterschiede zwischen den
verschiedenen Soundkarten sind minimal.
VSync
deaktivieren!
Eine der wichtigsten
Regeln für Benchmarkmessungen von 3D-Hardware
ist das Deaktivieren der vertikalen
Bildsynchronisation (VSync), sowohl
unter OpenGL wie auch unter Direct3D
(im Grafikkartentreiber oder mittels
Tweak-Tools möglich). Mit aktiviertem
VSync lassen sich keine vergleichbaren
Ergebnisse erzielen. Für das Spielen
sollte VSync jedoch eingeschaltet sein.
Hintergrund
Aktives VSync hat einen
grossen Einfluss auf die Frameraten
und verfälscht im Normalfall das Endergebnis.
Eines der grössten Probleme bei Echtzeit-Grafik
ist die unterschiedliche
Komplexität der Szenen.
Aufgrund der mehr oder weniger stark
benötigten Rechenpower kann das System
keine konstante Bildrate garantieren.
Bei Quake III auf einem Pentium 1 GHz
und GeForce3-Grafikkarte schwankt die
Bildwiederholrate während einem harten
Multi-User-Game zwischen 20 fps und
140 fps! Je mehr Aktivität auf dem Bildschirm,
um so tiefer die Bildwiederholrate.
Explosionen, mehrere Gegner, grosse
Hallen, etc. sind alles "negative" Einflüsse,
während in einem leeren kleinen Raum
die Karte bei weitem unterbeschäftigt
ist. Das menschliche Auge reagiert meistens
sehr heikel auf solche Änderungen.
Somit arbeitet man seit
einiger Zeit mit getrennten Bildspeichern,
dem im Hintergrund arbeitenden "Back
Buffer" und dem sichtbaren
"Front Buffer".
Im Back Buffer baut die Grafikkarte
das Bild auf, während der RAMDAC aus
dem Front Buffer die Daten für den Monitor
aufbereitet. Nun kommt die vertikale
Synchronisation (VSync) zum Einsatz.
Generell gesagt erhöht aktivierte Bildsynchronisation
die Spielbarkeit eines Spiels, während
das deaktivieren von VSync generell
höhere, dafür unregelmässigere Frameraten
liefert.
Der Monitor sendet jedes
Mal, wenn er mit dem Kathodenstrahl
ein Bild fertig gezeichnet hat und wieder
am Zeilen und Spalten-Nullpunkt (0,
0) steht, ein Signal
an die Grafikkarte, eben dieses VSync-Signal.
Bei eingeschalteter Synchronisation
wartet die Grafikkarte steht's, bis
dieses Signal ankommt und schaltet dann
die beiden Pufferbereiche "Front Buffer"
und "Back Puffer" um (Address-Switching),
so dass das soeben fertig gerenderte
Bild nun dargestellt wird und die Grafikkarte
wieder ein neues Bild im Back Puffer
aufbauen kann. Ist der Monitor nun auf
85 Hz Bildwiederholrate eingestellt,
sendet der Monitor alle
1/85 Sekunde ein VSync-Signal.
Auch wenn der Grafikchip
eigentlich 100 Bilder pro Sekunde liefern
könnte (z.B. in einer einfachen Szene
mit wenig Texturen und wenig Dreiecken),
werden nicht alle dieser Bilder dargestellt.
Der Grafikchip muss quasi warten,
bis der Monitor wieder bereit ist. Aus
dieser Synchronisation ergibt sich generell
ein klares,
ruhiges Bild auf dem Monitor.
Ohne VSync würden sich alte und neue
Teilbilder auf dem Monitor überschneiden
und es kommt vor allem bei tieferen
Bildwiederholraten zu einem unangenehmen
Effekt mit einem waagrechten Bildsprüngen
namens "Tearing".
Allerdings ist es nicht
so, wie weitläufig vermutet, dass einfach
alle fps-Raten über 85 bei aktiviertem
VSync einfach abgeschnitten
werden, weshalb Benchmarking mit aktivem
VSync keine vergleichbaren Ergebnisse
liefert. Der Unterschied ist viel größer.
Sobald der Grafikchip mehr als 85 fps
liefert, z.B. 88 fps, werden die darüberliegenden
3 fps nicht einfach weggelassen, sondern
die Wiederholfrequenz reduziert sich
auf 42,5 fps, also die Hälfte
der eingestellten Refreshrate des Monitors!
Dies kann einen gewaltigen
Unterschied im Endergebnis ausmachen.
Anstatt 120 fps ohne VSync liefert die
Grafikkarte mit aktivierten VSync "nur"
42 fps! Auch wenn der 3D-Chip für das
Rendern eines Bildes nur eine 1/84 Sekunde
benötigt und das VSync Signal verpasst
muss er auf das nächste VSync - Signal
warten, bis er weiterarbeiten kann.
Eingeschaltetes VSync führt somit eigentlich
eher dazu, dass man den Monitor
auf seine Refreshrate anstatt die Grafikkarte
auf die Leistung testet, was eigentlich
nicht so ganz der Sinn der Sache ist.
Konsequenz?
VSync
beim Benchmarken ausschalten und beim
Spielen einschalten!
Mit oder ohne VSync, völlig konstante
Frameraten sind nur sehr schwer zu erreichen.
Bei professionellen Flugsimulationen
sorgen gewaltige Speicher und diverse
andere Mechanismen, dass die Framerate
nicht unter 60 fps sinkt. Spielhallensimulatoren
verfügen auch über viel Speicher, können
allerdings auch nicht in jedem Fall
garantieren, dass die Rate unter 60
fps sinkt. Generell achten die Entwickler
dort allerdings auf gleichverteilte
Komplexität.
Tripple
Buffering
Manchmal wird auch Tripple-Buffering
(Dreifach-Pufferung) eingesetzt, womit
das Problem der unregelmäßigen Frameraten
etwas gemildert werden kann, da der
Chip zugleich in einen dritten Bildbereich
schreiben kann. Nachteilig wirken sich
dann aber die Kosten für einen weiteren
Speicherbereich aus (bei 1024x768x32bit
wären das 4 MB). Nutzen Sie für Tripple
Buffering für Benchmark-Messungen daher
nur, wenn Sie keine Möglichkeit gefunden
haben, VSync zu deaktivieren. Tripple
Buffering reduziert die Abhängigkeit
des VSync-Signals.
Quelle: www.3dconcept.net
zurück