abstrakt - eth z · dazu werden als grafikkarten ... spiele bauen auf dieser quake-engine auf, was...

57
Quake III Arena unter Windows und Linux Tobias Widmer Simon Schirm Luciano Butera Abstrakt Diese Arbeit soll eine Leistungsübersicht der Betriebssystemfamilien Windows und Linux im Bereich High-End 3D-Grafik am Beispiel des Ego-Shooters „Quake III Arena 1 “ von id Software 2 aufzeigen. Es soll gezeigt werden, inwiefern die Betriebssysteme mit der entsprechenden Hardware für anspruchsvolle 3D Grafik im Videospielbereich geeignet sind. Dazu werden als Grafikkarten die GeForce Familie von Nvidia 3 und als Hardwareplattform die X86 Prozessorarchitektur mit Prozessoren von AMD gewählt. Alle Betriebssysteme werden ohne Optimierungen installiert, die Treibersuite „Detonator“ von Nvidia in der neuesten stabilen Version aufgesetzt und anschliessend das Computerspiel „Quake III Arena“ eingerichtet. Als Workload wird eine ausgewählte Time- Demo, die unterschiedliche und zum Teil extreme Anforderungen an alle Bereiche des Grafiksubsystems stellt, eingesetzt. Verschiedene Testläufe mit den variierenden Faktoren Bildschirmauflösung, Prozessor, Grafikkarte und Betriebssystem, in denen die mittlere Bildwiederholrate als Metrik des Grafiksystems gemessen wird, bilden die Basis für eine abschliessende Beurteilung, welches Betriebssystem mit welcher Hardware die optimale Lösung für 3D Videospielgrafik mit der OpenGL 4 Schnittstelle darstellt. Einleitung Vor ein paar Jahren noch war Computergrafik eine Domäne der teuren Workstations. Heute aber drängen die Grafikkarten für Heimnutzer und Computerspieler leistungsmässig schon in Bereiche vor, die mit wesentlich teureren Speziallösungen konkurrieren können. Die im Moment leistungsfähigste Grafikkarte für Heimnutzer, die GeForce 3 von Nvidia, ist in der Lage, fast fotorealistische Bilder in Echtzeit zu rendern. Glaubt man den Marketingleuten der bekannten Grafikchipschmieden, soll schon die nächste Generation der Grafikchips komplexeste Bilder in Kinoqualität auf die Bildschirme zaubern. Auch in der Betriebssystemwelt hat sich einiges getan. Während sich früher Spiele in der PC Welt mangels gangbarer Alternativen praktisch nur auf MS-DOS von Microsoft beschränkten, haben wir heute dank der Dynamik der Open-Source Bewegung mittlerweile auch das freie Betriebssystem Linux als echten Konkurrenten zu den Platzhirschen Microsoft Windows ME/XP. Linux wie Windows implementieren die Grafikschnittstelle OpenGL seit längerer Zeit und haben hier eine gewisse Reife und Stabilität erreicht, um ihre Fähigkeiten im Bereich 3D-Grafik unter Beweis gestellt. Schon von Anfang an wurde der Ego-Shooter „Quake III Arena“ von id Software mit dem Ziel möglichst hoher Portabilität entwickelt. So konnte erreicht werden, dass sich das Portieren der Software aufgrund des modularen Designs hauptsächlich auf das Anpassen der ausführbaren Binaries beschränkt. Daten wie Texturen, Maps, Modelle, etc. können daher praktisch eins zu eins 1 Offizielle Website des Videospiels „Quake III Arena“ www.quake3arena.com 2 id Software Homepage www.idsoftware.com 3 Nvidia Corporation www.nvidia.com 4 OpenGL Grafikschnittstelle www.opengl.org

Upload: others

Post on 17-Jul-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Abstrakt - ETH Z · Dazu werden als Grafikkarten ... Spiele bauen auf dieser Quake-Engine auf, was den Quake Benchmark im Vergleich zu anderen Spielebenchmarks, welche oft nur die

Quake III Arena unter Windows und Linux

Tobias WidmerSimon Schirm

Luciano Butera

Abstrakt

Diese Arbeit soll eine Leistungsübersicht der Betriebssystemfamilien Windows und Linux imBereich High-End 3D-Grafik am Beispiel des Ego-Shooters „Quake III Arena1“ von id Software2

aufzeigen. Es soll gezeigt werden, inwiefern die Betriebssysteme mit der entsprechenden Hardwarefür anspruchsvolle 3D Grafik im Videospielbereich geeignet sind. Dazu werden als Grafikkartendie GeForce Familie von Nvidia3 und als Hardwareplattform die X86 Prozessorarchitektur mitProzessoren von AMD gewählt. Alle Betriebssysteme werden ohne Optimierungen installiert, dieTreibersuite „Detonator“ von Nvidia in der neuesten stabilen Version aufgesetzt und anschliessenddas Computerspiel „Quake III Arena“ eingerichtet. Als Workload wird eine ausgewählte Time-Demo, die unterschiedliche und zum Teil extreme Anforderungen an alle Bereiche desGrafiksubsystems stellt, eingesetzt. Verschiedene Testläufe mit den variierenden FaktorenBildschirmauflösung, Prozessor, Grafikkarte und Betriebssystem, in denen die mittlereBildwiederholrate als Metrik des Grafiksystems gemessen wird, bilden die Basis für eineabschliessende Beurteilung, welches Betriebssystem mit welcher Hardware die optimale Lösungfür 3D Videospielgrafik mit der OpenGL4 Schnittstelle darstellt.

Einleitung

Vor ein paar Jahren noch war Computergrafik eine Domäne der teuren Workstations. Heute aberdrängen die Grafikkarten für Heimnutzer und Computerspieler leistungsmässig schon in Bereichevor, die mit wesentlich teureren Speziallösungen konkurrieren können. Die im Momentleistungsfähigste Grafikkarte für Heimnutzer, die GeForce 3 von Nvidia, ist in der Lage, fastfotorealistische Bilder in Echtzeit zu rendern. Glaubt man den Marketingleuten der bekanntenGrafikchipschmieden, soll schon die nächste Generation der Grafikchips komplexeste Bilder inKinoqualität auf die Bildschirme zaubern.Auch in der Betriebssystemwelt hat sich einiges getan. Während sich früher Spiele in der PC Weltmangels gangbarer Alternativen praktisch nur auf MS-DOS von Microsoft beschränkten, haben wirheute dank der Dynamik der Open-Source Bewegung mittlerweile auch das freie BetriebssystemLinux als echten Konkurrenten zu den Platzhirschen Microsoft Windows ME/XP. Linux wieWindows implementieren die Grafikschnittstelle OpenGL seit längerer Zeit und haben hier einegewisse Reife und Stabilität erreicht, um ihre Fähigkeiten im Bereich 3D-Grafik unter Beweisgestellt.Schon von Anfang an wurde der Ego-Shooter „Quake III Arena“ von id Software mit dem Zielmöglichst hoher Portabilität entwickelt. So konnte erreicht werden, dass sich das Portieren derSoftware aufgrund des modularen Designs hauptsächlich auf das Anpassen der ausführbarenBinaries beschränkt. Daten wie Texturen, Maps, Modelle, etc. können daher praktisch eins zu eins

1 Offizielle Website des Videospiels „Quake III Arena“ www.quake3arena.com2 id Software Homepage www.idsoftware.com3 Nvidia Corporation www.nvidia.com4 OpenGL Grafikschnittstelle www.opengl.org

Page 2: Abstrakt - ETH Z · Dazu werden als Grafikkarten ... Spiele bauen auf dieser Quake-Engine auf, was den Quake Benchmark im Vergleich zu anderen Spielebenchmarks, welche oft nur die

auf eine andere Computer- oder Softwarearchitektur übernommen werden, was sich auch sehrdeutlich in der Verzeichnis- und Dateistruktur des Videospiels widerspiegelt5. Dank dieser weisenVoraussicht steht nun die Quake-Engine auf den Plattformen Linux/Intel, Windows/Intel und AppleMacintosh zur Verfügung.Diese Tatsachen sind für uns Grund genug, die beiden Betriebssysteme auch einmal als variierendeFaktoren nebeneinander antreten zu lassen und in einem praxisnahen Vergleich ihre Leistung imZusammenhang mit unterschiedlich leistungsfähiger Hardware zu beurteilen.

Problemstellung

Wie schon in der Einleitung erwähnt, hat sich die Lage bei den Betriebssystemen in letzter Zeitstark gewandelt: Linux hat sich vom Betriebssystem der Kernelhacker zum leistungsfähigenAllzweckbetriebssystem gemausert. Obwohl das Angebot der unter Linux lauffähigen ernsthaftenVideospiele im Moment noch an einer Hand abzählbar ist, haben doch einige Publisher ihreursprünglich unter Windows programmierten Spiele mit mehr oder weniger geringerem Aufwandauf die bekannten Linux Distributionen portiert. So geschehen auch mit der Quake-Engine und demdarauf aufbauenden Videospiel „Quake III Arena“. Für die ursprünglich unter Windowsentwickelte Software gibt es für Linux einen Patch6, der die Windows Anwendung durch einevollwertige Linux Anwendung ersetzt und sonstige kleinere Anpassungen durchführt. Somit wird„Quake III Arena“ unter Linux nicht etwa emuliert, sondern native ausgeführt.Neben dem Angebot an Anwendungen beginnt sich auch die Verfügbarkeit von Treibern fürverschiedenste Hardware zu verbessern. Treiber für Linux werden nicht mehr nur von freienSoftwareprogrammierern geschrieben, sondern auch von bekannten kommerziellen Firmen wieNvidia, ATI, IBM und weiteren. Nvidia hat hier bei den Grafikkarten eine Vorreiterrolle gespielt,weshalb wir uns bei unseren Test auf die GeForce Familie beschränken.Gesamthaft besteht die GeForce Familie aus mehreren unterschiedlich leistungsfähigen Grafikchipsfür verschiedene Speicherarchitekturen (SDR- und DDR-RAM). Dazu kommen jeweils noch mehroder weniger hoch getaktete Exemplare, um das Sortiment in dieser Dimension abzurunden. DieSparte reicht von der schon relativ alten GeForce 256 mit SDR-RAM und 125 MHz Chiptakt, dieals erste die mit vielen Vorschusslorbeeren versehene Technik „T&L (Transformation andLighting)“ [TAL] einführte, bis zum momentanen Grafikmonster GeForce 3 Ti 500 mit DDR-RAMund 300 MHz Takt, das die neuen Pixel- und Vertex-Shader [PVS] implementiert. Währendletztere Technik wegen der Workstation-Vergangenheit von OpenGL implizit unterstützt wird,finden sich die neuen Shader erst in Microsoft’s DirectX 8. Da die Quake-Engine in dieser Versionnoch keine Shader unterstützt, können bei allen Chips die Features der Engine voll ausgenütztwerden. Obwohl die GeForce Familie, wie oben erwähnt, aus zahlreichen Grafikchips und nochzahlreicheren Konfiguration besteht, liefert Nvidia für alle Karten nur einen einzigenReferenztreiber für jedes Betriebssystem aus. Diese Technik hat von Nvidia den Namen „UnifiedDriver Architecture“ bekommen [UDA].Nicht nur bei den Grafikkarten hat sich die Hardware so rasant entwickelt. Moore’s Law hat auchheute noch seine Gültigkeit: Alle 18 Monate verdoppelt sich die Leistung der Mikroprozessoren. Sosind heute so unterschiedlich leistungsfähige Prozessoren wie AMD Athlon 500 MHz bis zum IntelPentium 4 2 GHz im Umlauf, welche eine enormen Leistungsbereich aufspannen.

5 Auf beiden Betriebssystemen beinhaltet „Quake III Arena“ nur eine ausführbare Programmdatei, eineKonfigurationsdatei und die restlichen Spieldaten in einer mehr als 450 MB grossen Binärdatei. Ursprünglich fürWindows/Intel entwickelt, kann id Software nun für die anderen Plattformen einfach einen Patch für dieProgrammdatei bereitstellen.6 Dieser Patch ist an sich kostenlos und kann unter www.quake3arena.com heruntergeladen werden. Benötigt wirdjedoch eine Vollversion des Spiels für die Windows Plattform.

Page 3: Abstrakt - ETH Z · Dazu werden als Grafikkarten ... Spiele bauen auf dieser Quake-Engine auf, was den Quake Benchmark im Vergleich zu anderen Spielebenchmarks, welche oft nur die

Zusammenfassend bieten sich heute dem Anwender eine Vielzahl unterschiedlichsterSystemkonfigurationen an, seien es unterschiedliche Hardware oder verschiedene Betriebssysteme.Schon alleine die Anzahl von verschiedenen Grafikkarten mit unterschiedlichen Taktfrequenzenvon Speicher und GPU ermöglichen unzählige Kombinationen der benötigten Hardware, dazukommen noch verschiedene in 100 MHz Schritten getaktete Prozessoren, verschiedeneSpeicherarchitekturen, verschiedene Betriebssysteme und nicht zuletzt die vielen Einstellungen, dieuns die Quake-Engine anbietet.Es stellt sich automatisch die Frage, inwieweit diese Systemkonfigurationen leistungsmässigauseinander liegen. Wie gut ist die OpenGL Schnittstelle unter verschiedenen Betriebssystemen?Was macht ein um 100 MHz höher getakteter Prozessor aus? Bringen 64 MB Video-RAM denerhofften Leistungsschub? Sind bei den Einstellungen der Grafik-Engine wie z.B. Bit-Tiefe,Texturformat, Geometriekomplexität und dergleichen auf der heutigen Hardware überhauptUnterschiede messbar? Diesen Fragen möchten wir mit dieser Arbeit nachgehen.

Ziele

Unser Ziel, das wir mit dieser Arbeit erreichen wollen, ist die genaue Analyse der Performance vonHigh-End Grafikhardware unter den Betriebssystemen Windows und Linux. Verglichen werdensoll die direkte, für den Benutzer mess- und wahrnehmbare Leistung, die wir in Anzahl Bildern proSekunde messen (Framerate). Aus den gewonnenen Daten möchten wir klären, welche Faktorenüberhaupt etwas zur Systemperformance beitragen, und welche im Rahmen der Messgenauigkeitliegen und deshalb vernachlässigt werden können.Als nächstes werden wir aus den erhaltenen Faktoren diejenige Systemkonfiguration ermitteln,welche die höchste durchschnittliche Framerate erbringt, immer mit einem Blick auf einrealistisches Preis/Leistungs-Verhältnis. Zu zeigen bleibt auch, inwieweit heutige Software dievorhandene Hardware überhaupt auszureizen vermag, und inwiefern unterschiedlicheBetriebssysteme und Softwarearchitekturen etwas zur Grafikperformance beitragen. Was fürAnforderungen stellen die zum Teil enorm auf die Framerate drückenden Grafikoptimierungen wieAntialiasing, Bi-/Trilineares Filtern, usw. an das Grafiksystem, und was geben sie optisch her? ZurVerdeutlichung dieser Effekte sollen noch zusätzliche Screenshots aus unseren Testläufenbeitragen.Schlussendlich möchten wir mit dieser Arbeit zeigen, wie mit möglichst geringem Aufwand(finanziell, hardwaremässig, softwaremässig) auf welchem Betriebssystem am wirkungsvollsten dieoptimale Leistung der Quake-Engine, insbesondere des Videospiels „Quake III Arena“ selbst,erreicht werden kann.

Der Quake Benchmark und die Medien

Die Grafikkartenindustrie und die Unterhaltungssoftware-Branche spornen sich gegenseitig zurEntwicklung von immer neueren Produkten an. Ein lang erwartetes, mit vielen Previews undScreenshots angekündigtes Spiel stellt für viele „Gamer“ eine grosse Motivation dar, dieGrafikhardware zu kaufen, welche dafür sorgt, dass das Spiel auch mit der gewünschtenGrafikqualität und Framerate gespielt werden kann. Auf der anderen Seite motiviert eine neugekaufte Grafikkarte zur Anschaffung von Spielen, welche endlich die neuen Hardwarefeaturesauch richtig ausnutzen. Die entsprechenden Medien, wie z.B. computerspiel-orientierte Magazineoder Gamewebsites auf dem Internet bedienen sich dieses Interesses und schreiben reichlich Artikelzu dem Thema Grafikhardware.Um zu illustrieren, welche Leistungen eine neue Grafikkarte liefert, bedient man sich oft etablierterBenchmarks. Generell haben Benchmarks, welche die Grafikperformance in aktuellen Spielen auf

Page 4: Abstrakt - ETH Z · Dazu werden als Grafikkarten ... Spiele bauen auf dieser Quake-Engine auf, was den Quake Benchmark im Vergleich zu anderen Spielebenchmarks, welche oft nur die

dem Markt messen, einen grossen Vorteil gegenüber synthetischen Grafikbenchmarks7, da diesenur potentiell Aussagen über echte Situationen in Spielen machen können. In den einschlägigenMedien wird leider nicht sehr viel Wert darauf gelegt, die synthetischen Benchmarks auf ihrerepräsentative Aussage in Hinblick auf typische Situationen in Spielen hin zu überprüfen. Viellieber stellt man einfach die Resultate mehrerer Benchmarks nebeneinander. Deshalb wird auchgerne der Quake Benchmark als Vertreter von „echten“ Spielen und insbesondere von OpenGLSpielen angewendet. Er eignet sich zudem speziell gut als Benchmark, da id Software Lizenzen fürdie Grafik-Engine von Quake an andere Spieleschmieden verkauft. Viele aktuelle und zukünftigeSpiele bauen auf dieser Quake-Engine auf, was den Quake Benchmark im Vergleich zu anderenSpielebenchmarks, welche oft nur die Performance für ein Spiel zeigen, aussagekräftiger macht.John Carmack, leitender Programmierer bei id Software, sagt selbst in Bezug auf die neue DoomEngine, welche in der Entwicklung steckt, dass er gewisse Einstellungen so treffen kann, dassentweder der eine oder der andere Grafikchip bessere Resultate liefere8. Das zeigt auch, wieschlecht die Performance einer Grafikkarte in dem einen Spiel mit der in einem anderen Spiel mitanderer Grafik-Engine vergleichbar ist.Es stellt sich nun die Frage, wie der Quake Benchmark in der Praxis angewendet wird. Nachwelchen Kriterien werden etwa die Systemparameter und Testfaktoren ausgewählt? Wie sieht esmit der Auswertung der Resultate und deren Interpretation aus?

Auswahl der Systemparameter und Testfaktoren

Meist wollen die Journalisten einen Artikel schreiben, in dem sie Grafikkarten, die im Angebotstehen, vergleichen. Oder sie wollen die Tauglichkeit erhältlicher Prozessoren von AMD und Intelfür 3D Computerspiele überprüfen. Diese auf Hardware ausgerichtete, nach Sparten orientierteSicht, stellt oft nur mangelhaft dar, wie wichtig diese Komponenten einer Gattung überhaupt für diePerformance der Quake-Engine sind. Selten wird die Quake-Engine in den Mittelpunkt eines Testsgestellt. Für den Käufer von teurer Hardware und Systemsoftware wäre aber genau das interessant,da er doch wissen will, in welche Systemkomponente er wie viel Geld stecken muss, damit er einSpiel, zum Beispiel „Quake III Arena“, mit annehmbarer grafischer Qualität und Framerate spielenkann.Die grafischen Optionen, die man in „Quake III Arena“ einstellen kann, werden oft nicht einzelnbehandelt. Es wird meist der vordefinierte Standard „High Quality“ verwendet. Spieler stellen dieseOptionen aber oft einzeln ein. Je nach individueller Empfindung des Verhältnisses von grafischerQualität und Framerate wird eine grafische Option eingeschaltet oder nicht. Meist variieren dieTests, welche den Quake Benchmark verwenden, nur die Auflösung des Framebuffers. Dass geradedieser Faktor wichtig ist, ist vielen intuitiv klar, aber eine objektive Begründung fehlt oft.

7 Ein synthetischer Benchmark ist der 3DMark von MadOnion.com. Er wird oft zur Ermittlung der 3D Performanceeines Systems unter DirectX verwendet. Der Benchmark besteht aus einer Reihe von spielähnlichen Tests undDarstellung von 3D Szenen, welche bestimmte Aspekte wie „Fill Rate“, „High Polygon Count“, „Bump Mapping“ und„T&L“ von Grafiksystemen besonders stark beanspruchen. Der grosse Vorteil des 3DMark ist seine jährlicheNeuerscheinung mit an den momentanen Stand der Grafikhardware angepassten Tests.8 Aussage von John Carmack, Id Software, aus “id Software's Finger Service, February 11, 2002”:finger.planetquake.com/plan.asp?userid=johnc&id=15809

Page 5: Abstrakt - ETH Z · Dazu werden als Grafikkarten ... Spiele bauen auf dieser Quake-Engine auf, was den Quake Benchmark im Vergleich zu anderen Spielebenchmarks, welche oft nur die

Vertrauenswürdigkeit der Daten

Die allermeisten publizierten Resultate von Quake Benchmarks gehen gar nicht auf die Möglichkeitein, dass zwei Durchläufe des gleichen Experiments mit „gleichen“ Systemparametern undFaktoren sich dennoch in der gemessenen Framerate unterscheiden könnten. Die Experimentewerden zu deterministisch angesehen, und die Tatsache, dass gewisse unkontrollierte oderunkontrollierbare Faktoren vorhanden sind, einfach ignoriert. Eine nötige Wiederholung vonExperimenten und eine Analyse von Vertrauensintervallen der Daten fehlen damit. Wir versuchenim folgenden Abschnitt die Auswahl der Systemparameter und Faktoren sowie dieVertrauenswürdigkeit der Daten genauer zu behandeln.

Testumgebung

Testebenen

Die Testumgebung besteht aus drei Ebenen, der Hardware-Ebene, der Betriebssystem-Ebene undder Software-Ebene. Im folgenden Kapitel werden wir diese drei Ebenen einzeln beschreiben. Wirwerden erläutern, welche Faktoren in den einzelnen Ebenen vorkommen, welche Faktoren wir alsTestvariabeln betrachten werden und welche Werte diese Testvariabeln haben werden. Wir werdenim Einzelnen auch darauf eingehen, wieso potentielle Testvariabeln in unserem Testaufbau nichtvorkommen.

Hardware-Ebene

Auf der Hardware-Ebene existieren Variabeln wie Prozessor, Mainboard, RAM, Harddisk undGrafikkarte. Wir werden diese Faktoren im Folgenden einzeln behandeln und erklären, wie sie inunseren Tests berücksichtigt wurden.

Prozessor und Mainboard

Prozessor und Mainboard sind eigentlich zwei separate Faktoren. Auf der einen Seite dieProzessoren, die im Bereich der Taktfrequenz, Architektur und Hersteller variabel sind, und auf deranderen Seite die Mainboards, die in Busbreite, Chip-Satz, Hersteller und der maximal lieferbarenTaktrate für den Prozessor variieren können. Wir nehmen diese beiden Faktoren jedoch nichtauseinander und behandeln Prozessor und Mainboard als eine einzelne Testvariable. Dies geschiehtim Wesentlichen aus zwei Gründen: Die Entwicklung der Mainboards und der Prozessoren verläuftmeistens Hand in Hand. Wenn wir mit einem neuen Mainboard arbeiten, können wir dieProzessoren variieren und messen. Mit einem alten Mainboard läuft jedoch ein neuerer Prozessoroft nicht. Dies hat zur Folge, dass es gar nicht möglich ist, beide Faktoren einzeln zu testen, da siestark voneinander abhängig sind. Aus dem ersten Grund folgt dann auch der Zweite. Da neueProzessoren häufig ein neueres Mainboard fordern, können Prozessor und Mainboard alseinheitliches Computersystem betrachtet werden. Folglich werden wir diese Elemente, welche inunserem Fall auch in dieser Konfiguration gekauft worden sind, als Einheit testen.

Page 6: Abstrakt - ETH Z · Dazu werden als Grafikkarten ... Spiele bauen auf dieser Quake-Engine auf, was den Quake Benchmark im Vergleich zu anderen Spielebenchmarks, welche oft nur die

Abkürzung Mainboard Frontside Bus CPUPC1 ASUSTeK K7V 100 MHz AMD Athlon 700 MHzPC2 ASUSTeK A7V 133 MHz AMD Athlon 1200 MHzPC3 ASUSTeK A7V 2x133 MHz AMD Athlon 1400 MHz

Tabelle 1: Verfügbare Testgrössen für Prozessor und Mainboard

Wie aus der Aufzählung ersichtlich ist, machen wir unsere Tests ausschliesslich mit Prozessorenvon AMD. Dies ist auf der einen Seite schade, da Konkurrenten nicht miteinander verglichenwerden können. Wir haben jedoch nur diese Modelle zur Verfügung. Ein solches Vorgehen bietetjedoch auch Vorteile. Der Test wird besagen, wie gross der Einfluss von Prozessoren auf dieFramerate ist. Dieser Einfluss wird, da er markenunabhängig ist, hoffentlich deutlicher von denLeistungsmerkmalen der Prozessoren abhängig sein. Dieser Vorteil muss jedoch wieder relativiertwerden, da unser 1400 MHz Prozessor über einen 266 MHz Bus auf den Speicher zugreift,wogegen der 700 MHz Prozessor nur über einen 100 MHz Bus auf den Speicher zugreifen kann.

Arbeitsspeicher

Wie auch auf der Internet Seite "Tom’s Hardware9“ bestätigt wird, macht es keinen Unterschied, obdas System über 256 MB oder 512 MB Arbeitspeicher verfügt, da bei 512 MB nicht weniger aufdie Festplatte ausgelagert wird als bei 256 MB. Dies kann durch eine einfache Messung des freienSpeichers vor und nach dem Starten von „Quake III Arena“ verifiziert werden. Als zusätzlicheSicherheit für die Genauigkeit der Testresultate werden wir auch mehrere Durchläufe unteridentischen Bedingungen durchführen, so dass abgesehen vom ersten Durchlauf das Programmkomplett im Arbeitsspeicher läuft. Wir glauben auch, dass PCs, die für das Spielen optimiert sind,schon seit längerem mindestens 256 MB Arbeitspeicher besitzen und befinden deshalb das Testenvon 128 MB RAM als überflüssig.

Anwendung Hauptspeicher Total benutzter SpeicherQuake III Arena 512 MB SD-RAM ca. 130 MB

Tabelle 2: Speicheranforderungen von „Quake III Arena“

Da wir immer das Maximum aus unseren Systemen herausholen wollen, werden die Systeme mitdem schnellsten RAM betrieben, welches sie unterstützen, d.h. die Mainboards mit den 700 MHzund 1200 MHz Prozessoren laufen mit SD-RAM und das System mit 1400 MHz mit DDR-RAM.Also haben wir, weil jeder 3D-Grafik taugliche PC mit mindestens 256 MB Arbeitspeicherausgerüstet sein sollte, die Konfiguration des Hauptspeichers in den Rechnern so belassen wie sieursprünglich waren und das RAM folglich nicht als primären Faktor in unseren Test aufgenommen.

Prozessor/Mainboard Frontside Bus RAMPC1 100 MHz 256 MB SD-RAMPC2 133 MHz 512 MB SD-RAMPC3 2x133 MHz 512 MB DDR-RAM

Tabelle 3: Arbeitsspeicher in unseren Testrechnern

9 http://www.tomshardware.com

Page 7: Abstrakt - ETH Z · Dazu werden als Grafikkarten ... Spiele bauen auf dieser Quake-Engine auf, was den Quake Benchmark im Vergleich zu anderen Spielebenchmarks, welche oft nur die

Festplatte

Da „Quake III Arena“ während den Time-Demos nie auf die Festplatte zugreift, erachteten wir dieLeistungsunterschiede in Bezug auf unseren Benchmark bei verschiedenen Festplatten nicht alssehr relevant. Ein viel wichtigerer Grund, warum wir die Festplatte nicht als primären Faktorbetrachtet haben, liegt darin, dass wir die Testbetriebssysteme alle auf einer Festplatte installierthaben. Diese haben wir an die jeweiligen Testsysteme angehängt. Wir mussten also bei einemSystemwechsel nur die Betriebssysteme anpassen und die Grafiktreiber neu installieren, um sicherzu gehen, dass die Eigenschaften der verschiedenen Testsysteme voll ausgenutzt werden können.Dieses Vorgehen hat uns eine Menge Arbeit erspart. Wir konnten uns so auch sicher sein, dass dieTests völlig unabhängig von unseren privaten Festplatten durchgeführt wurden und sie so auchnicht beeinträchtigt werden konnten.

Für die Tests wurde eine neue 80 GB Maxtor Festplatte mit 5400 Umdrehungen pro Minuteeingesetzt. Diese Festplatte unterstützt den Schnittstellenstandard ATA 100. Einige unsererTestsysteme unterstützen allerdings nur ATA 66. Da dies vom Mainboard abhängig ist, betrachtenwir es als systemgegeben. Ausserdem sind diese Standards abwärtskompatibel.Dem Speicherverbrauch von „Quake III Arena“ zu folge, können wir ebenfalls sicher sein, dass derZugriff auf die Festplatte die Tests praktisch nie beeinflussen würde.

Grafikkarten

Die Grafikkarte war, ausser der Prozessor/Mainboard-Einheit, die oben beschrieben wurde, derzweite primäre Faktor auf der Hardware-Ebene und Kernstück unserer Benchmarks. Durch dieVariierung der Grafikkarten konnten wir z.B. herausfinden, wie gross die Auswirkungen der 3D-Chip-Generationen auf die Performance in den verschiedenen Hardware-Systemen sind, wie dieverschiedenen Betriebssysteme auf die Grafikkarten ansprechen und wie gut das Antialiasing aufden Grafikkarten implementiert wurde.

Wir haben drei Grafikkarten mit GPUs von nur einem Hersteller verwendet.

Abkürzung Grafikkarte 3D-Chip MemoryGeForce 1 Asus AGP-V6800 Nvidia GeForce 256 DDR 32 MB DDRGeForce 2 Hercules 3D Prophet II GTS Pro Nvidia GeForce II GTS 64 MB DDRGeForce 3 Hercules 3D Prophet III Nvidia GeForce III 64 MB DDR

Tabelle 4: Gewählte Grafikkarten mit zugehörigen Grafikchips und Speicherausstattung

Page 8: Abstrakt - ETH Z · Dazu werden als Grafikkarten ... Spiele bauen auf dieser Quake-Engine auf, was den Quake Benchmark im Vergleich zu anderen Spielebenchmarks, welche oft nur die

Spezifikation LeistungBitbreite Chip 256 BitSpeicherinterface 128 BitDreiecke 15 Mio/sTexels 480 Mio/sVideospeicher Bis 128 MB

Tabelle 5: Spezifikationen einer GeForce 256

Spezifikation LeistungBitbreite Chip 256 BitSpeicherinterface 128 BitDreiecke 31 Mio/sTexels 1 GTexels/sSpeicherbandbreite 7.36 GB/s

Tabelle 6: Spezifikationen einer GeForce 2

Spezifikation LeistungBitbreite Chip 256 BitSpeicherinterface 128 Bit DDRFüllrate 3.2 MSamples/sInstruktionen 800 Mia/sSpeicherbandbreite 7.36 GB/s

Tabelle 7: Spezifikationen einer GeForce 3

Man kann erkennen, dass aus jeder GeForce Generation ein High-End Modell getestet wurde. Diessoll die eigentlichen Fortschritte des Chip-Herstellers zeigen. Wir haben aus folgenden Gründennur GeForce Grafikchips getestet:

� Die Karten mit den GeForce Chips sind im Amateurbereich, welchen wir mit unseren Testsbehandeln wollen, die am weitesten verbreiteten Modelle.

� Die Karten werden alle von der „Unified Driver Architecture“ von Nvidia unterstützt, wasuns Vergleiche zwischen verschiedenen Chipgenerationen erleichtert.

� Es gibt ausgereifte Treiber sowohl für Windows als auch für Linux

Schlussendlich haben wir im Hardwarebereich zwei primäre Faktoren, Prozessor/Mainboard undGrafikkarte, mit je drei zu testenden Levels.

Page 9: Abstrakt - ETH Z · Dazu werden als Grafikkarten ... Spiele bauen auf dieser Quake-Engine auf, was den Quake Benchmark im Vergleich zu anderen Spielebenchmarks, welche oft nur die

Betriebssystem-Ebene

Unter Betriebssystem-Ebene verstehen wir das Betriebssystem an sich und die dazugehörendenTreiber. In unserem Benchmark sind damit vor allem der Grafiktreiber und seine Einstellungengemeint.

Betriebssystem

Das Betriebssystem ist der Faktor, der uns persönlich am meisten interessiert hat und der, wie wirsehen werden, uns auch die grösste Überraschung bereitet hat. Wir hätten gerne so vieleBetriebssysteme wie möglich getestet. Leider war für das Betriebssystem BeOS nur eine frühereVersion von Quake10 portiert worden, die eine ganz andere Grafik-Engine verwendet, was einenTest wenig aussagekräftig machen würde. Ausserdem lassen kürzliche Ereignisse rund um dieFirma Be Incorporated11 Zweifel an der Zukunft des innovativen Betriebssystems aufkommen.Deshalb können auch die angegebenen Referenzen unter Umständen kurze Lebensdauer haben.Obschon Quake auch in der Mac-Welt seine Anhänger hat, haben wir mangels verfügbarerHardware auf einen Test unter MacOS verzichtet. Da wir im Hardware-Betriebssystem-Bereich„two-factor full factorial designs“ durchgeführt haben, beschränken wir uns so auf dreiBetriebssysteme, um den Aufwand im Bereich Installation und Testläufe zu begrenzen.

Wir haben folgende Betriebssysteme ausgewählt:

Windows 98

Bis vor kurzem war Windows 98 das Betriebssystem Nummer eins für 3D-Spiele. Es wird sich inunseren Tests zeigen, ob dies auch heute noch seine Gültigkeit hat.

Windows XP

Das neue Betriebssystem von Microsoft verspricht gegenüber Windows 2000 und Windows NTwieder ein Betriebssystem für Spieler zu werden. Wir werden testen ob Windows XP denAnsprüchen der Spieler genügen kann, ob die 3D-Grafik genügend gut unterstützt wird und ob eswirklich das alte Microsoft Betriebssystem Windows 98 in diesem Bereich ablösen kann.

SuSE Linux 7.2

3D-Spiele werden nur sehr selten für Linux portiert. id Software macht hier eine Ausnahme und hat„Quake III Arena“ unter Linux implementiert. Es gibt jedoch wenige Spieler, die in ihrer FreizeitLinux benutzen. So stellt sich die Frage, ob das anhand der schlechten Implementation der Grafik-Treiber für Linux liegt oder ob der nicht unerhebliche Aufwand für Treiberinstallationen diebetroffene Zielgruppe zu sehr abschreckt.

10 http://www.bedepot.com/products/be/quakeii.asp11 http://www.beincorporated.com

Page 10: Abstrakt - ETH Z · Dazu werden als Grafikkarten ... Spiele bauen auf dieser Quake-Engine auf, was den Quake Benchmark im Vergleich zu anderen Spielebenchmarks, welche oft nur die

Abkürzung BetriebssystemWin98 Microsoft Windows 98 Version 4.1 Build 1998WinXP Microsoft Windows XP Professional Version 5.1 Build 2600Linux SuSE Linux 7.2, Kernel Version: 2.4.4-4GB, KDE Version: 2.1.2

Tabelle 8: Verwendete Betriebssysteme

Grafiktreiber

Die drei Generationen der GeForce Chipsätze benutzen alle denselben Referenztreiber von Nvidia.Dieser Treiber liegt in einer aktuellen, von uns verwendeten Ausführung für jedes getesteteBetriebsystem vor.

Grafiktreiber VersionNvidia Detonator für Win 95/98/Me 23.11Nvidia Detonator für Windows 2000/XP 23.11Nvidia Detonator Kernel driver SuSE 7.2Nvidia Detonator GLX library SuSE 7.2

23.13

Tabelle 9: Verwendete Grafiktreiber für die GeForce Familie

Antialiasing

Dies ist der zweite Faktor, den wir auf Betriebssystem-Ebene variieren. Im Abschnitt →VisuelleTests befindet sich eine Beschreibung der Antialiasing-Funktion. Antialiasing wird von denGrafikkarten und den Treibern implementiert. Welche Antialiasing Stufe nun verwendet werdensoll, wird in der Treiberkonfiguration geregelt und ist deshalb nicht von Quake abhängig. DieGeForce 256 und GeForce II unterstützen zwei Stufen von Antialiasing (2-fach und 4-fachAntialiasing). Die GeForce III unterstützt zusätzlich noch eine dritte Variante (Quincunx), welcheim Wesentlichen aus einem verbesserten Algorithmus besteht. Wir wollten sämtliche verfügbarenStufen auf allen Karten testen, um herauszufinden welchen Einfluss sie haben.

Software-Ebene

Wir verwenden für den Quake Benchmark die Version 1.17 von „Quake III Arena“. DerBenchmark besteht aus einer Demosequenz. In dieser Demosequenz wird das Spiel einfach durchdie aufgezeichneten Aktionen eines Spielers gespielt statt durch den Spieler selbst. Wir verwendendas Demo „Quaver12“, welches eine normale Spielsituation darstellt, bei der ein Gefecht gegen dreikünstliche Gegner abgespielt wird. Für die Erhebung der durchschnittlichen Framerate wurde dieTime-Demo Option der Quake-Engine aktiviert, die die Bildwiederholraten aufzeichnet. DieseOption kann je nach System die Framerate um ein paar Prozente herunterdrücken. GenaueMessungen sind auf Grund der Natur dieses Problems nicht möglich.Die Demo wird so nicht in Echtzeit abgespielt, sondern jedes in gleichem Spielzeitabstandberechnete Frame wird dargestellt, sobald es verfügbar ist. Die Zeit, welche für die ganze Demo

12 http://www.hardtecs.de/3dcenter/quake3-quaver.zip

Page 11: Abstrakt - ETH Z · Dazu werden als Grafikkarten ... Spiele bauen auf dieser Quake-Engine auf, was den Quake Benchmark im Vergleich zu anderen Spielebenchmarks, welche oft nur die

benötigt wurde, wird durch die konstante Anzahl der Frames geteilt, was den durchschnittlichenWert Frames pro Sekunde ergibt.

Die Quake-Engine kann man zusätzlich noch mit verschieden Optionen konfigurieren. Wirbetrachten diese als Faktoren auf der Software-Ebene. Die genauen Beschreibungen der Optionenund Screenshots zur Illustrierung befinden sich im Abschnitt →Visuelle Tests.

Engine Option Betrachtete Werte FunktionVideo Mode 640x480 800x600 1024x768 1600x1200 Auflösung des FramebuffersColor Depth 16 Bit 32 Bit Farbtiefe des FramebuffersLighting Lightmap Vertex Beleuchtungsmodell der MapGeometry LOW HIGH Geometrische KomplexitätTexture Detail LOW HIGH Auflösung der TexturenTexture Depth 16 Bit 32 Bit Farbtiefe der TexturenGLExtensions allow allow not OpenGL ExtensionsTexture Filter Bilinear Trilinear TexturfiltermethodeCompress NO YES Komprimierte TexturenDynamic Light NO YES Dynamische BeleuchtungDraw Gun NO YES Waffendarstellung

Tabelle 10: Einstellungen der Quake-Engine für unsere Tests

Vorgehen

Wir haben im Kapitel Testumgebung gesehen, welche Faktoren man in einem Quake Benchmarktesten könnte. In den Bereichen Hardware und Betriebssystem war schon bald klar, welcheFaktoren getestet werden und welche wir vernachlässigen können. Im Bereich der Software-Ebenesind die Faktoren jedoch so zahlreich, dass es von vorne herein nicht zu sagen war, welche relevantsind, und wie sie sich gegenseitig beeinflussen. Zudem hatten wir die Möglichkeit, dieSoftwaretests praktischerweise per Skript zu erledigen und konnten deshalb viel mehr Experimentedurchführen, als das bei Hardwaretests möglich war, wo man immer selber noch Hand anlegenmusste. Deshalb haben wir auf der Software-Ebene Vortests durchgeführt.

Vortests

Wie wir beschrieben haben, schienen uns die Softwarefaktoren zu unsicher, um irgendwelcheAnnahmen zu treffen. Deshalb haben wir uns im Bereich der Software für ein „2(11-6).5 reducedfactorial design“ entschieden. Wir haben die 11 Softwarefaktoren auf 5 Faktoren mit je zweiEinstellungen reduziert. Ziel war, mit 32 verschiedenen Experimenten und 5 Wiederholungengenügend statistisches Material zu bekommen, um daraus Schlüsse für die endgültigen Tests ziehenzu können.Wir haben festgestellt, dass ein einzelner Testdurchlauf in „Quake III Arena“ etwa 30 Sekundendauert. Zum Glück bietet der Quake Benchmark eine Art Skriptsprache an, mit der manEinstellungen automatisch festlegen und das Demo abspielen kann. Wir haben uns entschieden fürdie 160 Abläufe Skripts zu generieren. Um dies erreichen zu können, haben wir ein Java Programmgeschrieben. Dieses bestimmt anhand einer Vorzeichenmatrix, welche das Ein- und Ausschalten

Page 12: Abstrakt - ETH Z · Dazu werden als Grafikkarten ... Spiele bauen auf dieser Quake-Engine auf, was den Quake Benchmark im Vergleich zu anderen Spielebenchmarks, welche oft nur die

der binären Faktoren steuert („experimental design“), die 32 Experimente und gibt diese in Formvon Quake Skripts aus. Die Quake Skripts schreiben nach jedem Testdurchlauf die erzielteFramerate in ein Dumpfile.Weiter haben wir ein zweites Programm erstellt, das die Framerates aus den Dumpfiles herausliestund neben den zugehörigen Einstellungen in eine Excel-Tabelle einträgt. So konnten wir unsereVortests automatisch durchführen, und die Resultate direkt in Excel bearbeiten. Wir haben dieTests auf zwei Computersystemen mit je einem anderen Betriebssystem laufen lassen, um zu sehen,wie verlässlich unsere Schlussfolgerungen für die finalen Tests sein würden.

Haupttests

Mit den Erkenntnissen aus den Vortests haben wir die Softwarefaktoren der finalen Tests auf diewirklich essentiellen reduzieren können. Es war uns aus Zeitgründen nicht möglich, alleKombinationen von Faktoren der Hardware-Ebene und der Betriebssystem-Ebene in einem „fullfactorial design“ zu testen. Deshalb haben wir jeweils 2 Faktoren miteinander verglichen („twofactor full factorial design“). Dabei haben wir je zwei Faktoren gewählt, deren Interaktion undrelative Wichtigkeit uns besonders interessant erschien.

Vortests

Wie schon erwähnt, entschlossen wir uns zur Durchführung eines „reduced factorial design“ zurErmittlung der relevanten Softwarefaktoren der Quake-Engine.

Testaufbau

Die Vortests sollten uns behilflich sein, die Variabeln im Software-Bereich weiter zu reduzieren.Wir haben zwei Durchläufe mit verschiedener Hardware und verschiedenem Betriebsystemgemacht, um einen Vergleich ziehen zu können.

Abkürzung Prozessor/Mainboard Grafikkarte Betriebsystem AntialiasingWindows Test PC1 GeForce 2 Windows XP keinesLinux Test PC3 GeForce 256 SuSE Linux keines

Tabelle 8: Die zwei Testaufbauten der Vortests

In beiden Testläufen wurden dieselben Scripts für die Software Einstellungen verwendet.

Page 13: Abstrakt - ETH Z · Dazu werden als Grafikkarten ... Spiele bauen auf dieser Quake-Engine auf, was den Quake Benchmark im Vergleich zu anderen Spielebenchmarks, welche oft nur die

Experimental Design

Wir haben für die zahlreichen Faktoren ein „reduced factorial design with replication“ benutzt. Die11 Faktoren wurden bei uns um 6 Faktoren reduziert. Die Experimente wurden 5-mal wiederholt.

Anzahl Durchläufe:)(2 pkr −⋅

Wobei: r (Anzahl Widerholungen) = 5k (Anzahl primäre Faktoren) = 11p (Anzahl reduzierte Faktoren) = 6

Sechs Faktoren werden in die Kombinationen (Elemente der Potenzmenge) der ersten 5 Faktoreneingesetzt, welche die höchsten Kardinalitäten aufweisen. Jeder Effekt der vorkommendeneinzelnen Faktoren kann folglich nur mit den Effekten der Kombinationen von mindestens dreiFaktoren verwechselt werden. Zudem können die Effekte von einigen Faktorpärchen mit denenanderer verwechselt werden. Weitere Details befinden sich im →Appendix.

Windows Vortest

Beurteilung der Resultate des Windows Vortests

Leider ist uns beim Generieren der Scripts für die Vortests ein Fehler unterlaufen. Wir wollten fürjedes neue Experiment (geänderte Quake Optionen und Neuinitialisierung der Quake-Engine) zuBeginn eine zusätzliche Wiederholung durchführen, um einen stabilen Zustand der Quake-Enginewährend der Messung zu gewährleisten. Leider wurde die Initialisierung der Engine vor jederWiederholung durchgeführt. Aus Zeitmangel haben wir die Vortests nicht wiederholt, aber denFehler für die Haupttest behoben.

Wir haben zwei visuelle Tests durchgeführt, um die Voraussetzungen für unser Fehlermodell zuüberprüfen:

Absolute Fehler

-0.2

-0.1

0.0

0.1

0.2

0 20 40 60 80 100 120

Mittlere Framerate

Ab

wei

chu

ng

Abbildung 1: Absolute Fehler des Windows Vortests

Page 14: Abstrakt - ETH Z · Dazu werden als Grafikkarten ... Spiele bauen auf dieser Quake-Engine auf, was den Quake Benchmark im Vergleich zu anderen Spielebenchmarks, welche oft nur die

Man kann aus dem Fehler-Plot unschwer herauslesen, dass bei ansteigender Framerate auch dieStreuung der Fehler ansteigt. Es liegen also keine identischen, unabhängigen Verteilungen vor.Grundsätzlich sind dadurch die Bedingungen für ein „factorial design“ nicht erfüllt. Wir könnendiesen Trend jedoch vernachlässigen, da alle Fehler um mindestens zwei Zehnerpotenzen kleinerals die Bildwiederholraten sind.

Fehlerverteilung

-3.0

-2.0

-1.0

0.0

1.0

2.0

3.0

-0.2 -0.1 0.0 0.1 0.2

Normalverteilung

Res

idu

enve

rtei

lun

g

Abbildung 2: Fehlerverteilung versus Normalverteilung für die Windows Vortests

Die Fehlerverteilungsgrafik zeigt, dass hier keine Normalverteilung vorliegt, sondern eineVerteilung, die etwas spitzer verläuft, da die Enden der Kurven deutlich ausscheren. Auch diesbeeinträchtigt unser Fehlermodell nicht stark, aus demselben Grund wie schon vorher erwähnt.Das Vertrauensintervall für 99% Sicherheit für die berechneten Kontraste fällt so klein aus (Radius= 0.0104), dass wir es für die Kontraste, die wir für unsere weitere Argumentation verwendenwerden, vernachlässigen können.

Die wichtigsten Resultate des Windows Vortests

Die folgende Tabelle enthält alle berechneten Effekte (gerundet auf zwei Stellen nach demKomma), die über 1% liegen. Die Werte aller 32 Effekte befinden sich im Appendix.

Page 15: Abstrakt - ETH Z · Dazu werden als Grafikkarten ... Spiele bauen auf dieser Quake-Engine auf, was den Quake Benchmark im Vergleich zu anderen Spielebenchmarks, welche oft nur die

Faktor Effekt (%)allow GLExtension 51.39Video Mode 33.67Video Mode & Color Depth 3.83Color Depth 3.77Lighting 1.88allow GLExtension & Video Mode 1.65allow GLExtensions & Video Mode & Lighting 1.44

Tabelle 11: Effekte der Faktoren des Windows Vortests, die über 1% betragen.

Interpretation der Resultate des Windows Vortests

Wie in der Tabelle ersichtlich ist, erklären die Faktoren „allow GLExtensions“, „Video Mode“ und„Color Depth“ sowie deren Kombinationen 95% der beobachteten Effekte. Das Ausschalten derOption „allow GLExtension“ bewirkt wahrscheinlich einen vermehrten Gebrauch von sehrineffizienten Emulationen, die der Detonator unter den verschiedenen Plattformen bereitstellenmuss. Der grosse Effekt der Auflösung des Framebuffers kann zum Teil mit der grossen Differenzder Testeinstellungen (640x480, 1600x1200) erklärt werden. Dies bewirkt natürlich auch einegewisse Kaschierung der Effekte anderer Faktoren. Weiterhin spielen auch die Faktoren "Lighting"(1,88%) und die Kombination der Faktoren „Lighting“, „allow GLExtensions“ und „Video Mode“(1,44%) eine untergeordnete Rolle. Alle anderen Faktoren beeinflussen die Framerate um wenigerals 1%, so dass diese getrost vernachlässigt werden können. Der Fehleranteil ist dabei kleiner als10-3 %.Eher erstaunlich ist der kleine Einfluss der Geometrie („Draw Gun“, „Geometric Detail“) auf diePerformance. Wie es scheint, ist die Geometrie trotz des impliziten T&L von OpenGL auf derQuake-Engine stark vom Prozessor abhängig. Curved Surfaces, eine neue Technologie, umpolynomielle Oberflächen darstellen zu können, wurde mit Version 3 der Quake-Engine eingeführt,als Hardwarebeschleunigung von polynomialen Oberflächen noch nicht verfügbar war, wie heutedie Hardware Technologie „TRUFORM“ [TFM] im neuen Radeon Chip von ATI Technologies13.So dürfte sich der Mehraufwand an Berechnungen im Rahmen halten, was auch Screenshots zubestätigen scheinen: Der visuelle Unterschied der Geometrie ist minimal.Zudem hätten wir nicht erwartet, dass der Effekt von „Texture Filter“, „Texture Detail“, „TextureDepth“ und „Compress Textures“ so klein ist. Wir vermuten, dass die GeForce 2 diese Featureseffizient implementiert. „Compress Textures“ verwendet die von der mittlerweile nicht mehrexistierenden Firma S3 entwickelten Texturkompressionsalgorithmen S3TC, die von neuerenGrafikkarten ebenfalls in Hardware unterstützt werden.

13 http://www.ati.com

Page 16: Abstrakt - ETH Z · Dazu werden als Grafikkarten ... Spiele bauen auf dieser Quake-Engine auf, was den Quake Benchmark im Vergleich zu anderen Spielebenchmarks, welche oft nur die

Linux Vortest

Beurteilung der Resultate des Linux Vortests

Die Ergebnisse der Fehleranalyse entsprechen denen des Windows Vortests.

Die wichtigsten Resultate des Linux Vortest

Die folgende Tabelle enthält die berechneten Effekte (gerundet auf zwei Stellen nach demKomma), die als Vergleich zum Windows Vortest dienen sollen. Die Werte aller 32 Effektebefinden sich ebenfalls im Appendix.

Faktor Effekt (%)Video Mode 91.54Lighting 4.22allow GLExtensions 0.92allow GLExtensions & Video Mode 0.46allow GLExtensions & Video Mode & Lighting 0.01Video Mode & Color Depth 0.00Color Depth 0.00

Tabelle 12: Effekte des Linux Vortests.

Interpretation der Resultate des Linux Vortests

Der Effekt der Option „allow GLExtensions“ beträgt hier nicht mal mehr 1%, während dieFramebufferauflösung über 90% der Effekte ausmacht. Der Effekt des „Lighting“ war auch rechthoch (4%). Diese erstaunlichen Resultate bedürfen einer Erklärung, welche wir sicher nur teilweiseliefern können. Ein verminderter „allow GLExtensions“ Effekt lässt sich vielleicht durch einemangelhafte Unterstützung seitens der GeForce 256 bzw. des Detonators unter Linux erklären.Unterstützt wird die Extension jedoch auch unter Linux, da die Detonators mit der schon erwähnten„Unified Driver Architecture“ entwickelt wurden.Der im Vergleich zum Windows Vortest grössere Einfluss der Option „Video Mode“ und„Lighting“ kann durch das Verschwinden des „allow GLExtensions“ Effektes und durch dieÜberforderung der GeForce 256 bei der Auflösung 1600x1200 begründet werden. Der sehr kleine„Color Depth“ Einfluss stammt wohl aus einer Fehlkonfiguration des X Window Systems. Wirhaben nämlich vergessen, den Defaultwert der Framebufferfarbtiefe von 16 Bit auf 24 Bit (ohneTransparenz) zu stellen, was wahrscheinlich das Umschalten der Framebufferbits in der Quake-Engine verhinderte.

Page 17: Abstrakt - ETH Z · Dazu werden als Grafikkarten ... Spiele bauen auf dieser Quake-Engine auf, was den Quake Benchmark im Vergleich zu anderen Spielebenchmarks, welche oft nur die

Schlussfolgerungen aus den Vortests

Die Option „allow GLExtensions“ wollen wir trotz ihres zum Teil grossen Einflusses auf dieGrafikperformance nicht in den Tests der Hardware- und Betriebsystem-Ebene berücksichtigen.Wir finden, dass diese Erweiterungen heute schlicht und einfach zum OpenGL Standard gehören.Die weit verbreitete Version 1.1 unterstützt die OpenGL Extensions, ebenso der Detonator. Wirnehmen diese Erweiterungen aus diesem Grund einfach als gegeben an.Die Framebuffer Auflösung hat abgesehen von den OpenGL Erweiterungen den grössten Effektund wird darum in die Tests einbezogen. Da die niedrigste Testauflösung (640x480) heute kaummehr zumutbar ist, haben wir uns für die adäquatere Auflösung von 800x600 entschieden.Des Weiteren haben wir die scheinbar nächst relevantere Option „Color Depth“ in die finalen Testsaufgenommen, da sich hier die Resultate erfahrungsgemäss sehr stark unterscheiden. Dies ist auchnicht weiter verwunderlich, braucht doch doppelte Farbtiefe nicht nur doppelten Framebuffer,sondern je nach Grafikchip doppelte Leistung oder zumindest einige Rechenzeit, um von 32 Bitnach 16 Bit herunterzurechnen bzw. zu dithern.Da in den Vortests ein sehr gutes Fehlerverhalten festzustellen war, haben wir uns erlaubt, dieAnzahl Wiederholungen pro Experiment von fünf auf drei zu reduzieren.

Haupttests

Testaufbau

Wir haben im Bereich der Hardware und des Betriebsystems drei verschiedene Sets vonExperimenten aufgebaut, deren Schwergewichte jeweils auf verschiedenen Fragestellungenberuhen. Diese Sets bestehen aus Experimenten, welche die Relationen und relative Wichtigkeitvon jeweils zwei Faktoren untersuchen („two factor full factorial design“). Alle Tests benutzen eingemeinsames Format, das wir aus den Vortests und den Designs entwickelt haben. Wir variierenjeweils zwei Faktoren auf drei unterschiedlichen Levels. Grob gesagt nehmen wir für die Faktorenjeweils Exponate aus den Bereichen Low-End, Mid-Range und High-End der entsprechendenHardware. Die Betriebssysteme haben wir bewusst nicht klassiert, um die Tests derLeistungsfähigkeit unserer getesteten Betriebssysteme nicht zu beeinflussen.In allen Testläufen wurde jedoch im Bereich der Software derselbe Ablauf verwendet, welcher ausden primären Faktoren „Video Mode“ und „Color Depth“ bestand. Die Wahl dieser Faktorenresultiert ebenfalls aus den Schlussfolgerungen der Vortests.Da der „Video Mode“ der wichtigste Faktor im Bereich der Software-Einstellungen war, haben wirdrei Werte dieses Faktors untersucht. Die drei Stufen waren die Auflösungen 800x600, 1024x768und 1600x1200. Weil die Vortests eine sehr kleine Streuung bei den Resultaten ergaben, haben wiruns entschieden, die Experimente während der Haupttests nur dreimal zu wiederholen. Zusätzlichhaben wir einen Durchlauf als Sicherheit, dass sich die benötigten Daten im Cache befinden.

Video Mode800x6001024x7681600x1200

Tabelle 13: Getestete Bildschirmauflösungen

Page 18: Abstrakt - ETH Z · Dazu werden als Grafikkarten ... Spiele bauen auf dieser Quake-Engine auf, was den Quake Benchmark im Vergleich zu anderen Spielebenchmarks, welche oft nur die

Color Depth16 Bit32 Bit

Tabelle 14: Getestete Farbtiefen

Nebst den primären Faktoren der Software-Ebene, wurden die sekundären, weniger interessantenFaktoren der Quake-Engine als Defaultwerte belassen.

Quake-Engine Option WertLighting LightmapGeometric Detail HIGHTexture Detail HIGHTexture Depth 32 BitTexture Filter BilinearCompress Textures YESDynamic Light YESDraw Gun YES

Tabelle 15: Defaultwerte der Quake-Engine

Die Werte entsprechen den Defaultwerten von „Quake III Arena“ und wurden so für alle Testsübernommen. Diese Einstellungen entsprechen leider nicht ganz unseren Wünschen. Wir wolltendie Einstellungen eigentlich möglichst hardwareintensiv gestalten, aber durch einen weiterenSkriptfehler wurde unsere Wahl der Option „Texture Filter“ verworfen und der Defaultwertgewählt. Geplant war eigentlich das wesentlich aufwändigere trilineare Filtern.In jeder Hardware-Betriebsystem Konfiguration die getestet wurde, sind folglich sechsExperimente je dreimal wiederholt worden. Die Wiederholungen fanden unmittelbar nacheinanderstatt, um die Software-Caches möglichst gut zu nutzen, beziehungsweise möglichst wenige Engine-Reinitialisierungen durchführen zu müssen.

Betriebsystem-Grafikkarte

Aufbau

Alle neun Kombinationen der drei Betriebsysteme und der drei Grafikkarten wurden getestet. Wirhaben uns gefragt, wie effizient ein Betriebsystem den Zugriff auf die Hardware gestattet, wiesorgfältig die Grafiktreiber für ein Betriebsystem implementiert wurden, wie gut die Performanceunter den verschiedenen Betriebssystemen skaliert, und welche Unterschiede es bei derUnterstützung der verschiedenen Grafikkarten gibt.Für den sekundären Faktor Prozessor/Mainboard wurde PC3 ausgewählt. Durch die Wahl einesHigh-End Systems können wir nach den Tests beurteilen, wie gut die Leistung desGrafiksubsystems unter den Betriebssystemen skaliert. Das Antialiasing wurde deaktiviert, da eseinen zu starken Leistungseinbruch bei den schwächeren Grafikkarten bewirkt hat.

Page 19: Abstrakt - ETH Z · Dazu werden als Grafikkarten ... Spiele bauen auf dieser Quake-Engine auf, was den Quake Benchmark im Vergleich zu anderen Spielebenchmarks, welche oft nur die

Ein separater Test, bei dem wir die verschiedenen Antialiasing Varianten genauer unter die Lupenehmen, befindet sich weiter hinten in diesem Kapitel im Abschnitt →Antialiasing-Grafikkarte.

Beurteilung der Resultate

Alle unsere Haupttests haben wir mit zwei variierenden Faktoren à jeweils drei Levels durchgeführtgemäss unserem entwickelten Testformat. Durch das „full factorial design“ können wir alleAbhängigkeiten der verschiedenen Faktoren ausfindig machen, wobei die Beschränkung auf je dreiLevels die Anzahl Tests drastisch reduziert.Beurteilt werden soll der Einfluss der beiden Faktoren Betriebssystem und Grafikkarte auf dieGesamtleistung, d.h. welcher Faktor in welchem Masse für etwaige Performancesteigerungenverantwortlich ist. Hat das Betriebssystem Einfluss auf die Renderleistung? In welchem Massezeigen die Detonatortreiber plattformunabhängige Performance? Die Antworten auf diese Fragensollen klären, wie gut die Betriebssysteme und Treiber die Grafikkarten ausreizen und wie weit siemit der Hardware skalieren können.

Grafische Zusammenfassung

Die durchgeführten Tests, um die Performancebeiträge von Betriebssystem und Grafikchip zuermitteln, sind in untenstehendem Diagramm zusammengefasst. Neben der Interaktion der beidenFaktoren nahmen sich die Messfehler so klein aus, dass wir sie vernachlässigen konnten.

Betriebssystem

Grafikchip

Interaktion

800x600, 32 bit

1024x768, 32 bit

1600x1200, 32 bit

0

10

20

30

40

50

60

70

80

90

100

Anteil in Prozent

Faktoren

Auflösung und Farbtiefe

Performance Beiträge von Betriebssystem und Grafikchip

800x600, 32 bit 3.0 90.6 6.4

1024x768, 32 bit 20.0 80.0 0.0

1600x1200, 32 bit 0.0 100.0 0.0

Betriebssystem Grafikchip Interaktion

Abbildung 3: Betriebssystem-Grafikkarte Übersicht

Page 20: Abstrakt - ETH Z · Dazu werden als Grafikkarten ... Spiele bauen auf dieser Quake-Engine auf, was den Quake Benchmark im Vergleich zu anderen Spielebenchmarks, welche oft nur die

Interpretation der Ergebnisse

Der Betriebssystem-Grafikchip Test bringt eigentlich keine erstaunlichen Ergebnisse zu Tage.Alles in allem ist der prozentuale Leistungsbeitrag der Softwarekomponenten wie Grafikengine undBetriebssystem sehr klein. Vor allem bei sehr niedrigen und sehr hohen Auflösungen zeigt dieverwendete Software wenig bis gar keinen Einfluss auf die Gesamtleistung. Bei einem für eine 3D-Grafik Engine typischen Workload von Polygondaten und im Videospeicher gehaltenen Texturenbleibt auch wenig Raum für das Betriebssystem, seine Stärken und Schwächen zu offenbaren.Einziger Ausreisser der ansonsten ziemlich eindeutigen Resultate ist das Betriebssystem bei1024x768 Auflösung mit 32 Bit Farbtiefe. Es scheint, dass bei mittlerer Auflösung von derSoftware-Seite her beim Variieren des Betriebssystems mit relativ hohem Performancegewinn(20%) oder –verlust gerechnet werden kann. Hier scheint also noch Spielraum vorhanden zu sein.Bei höchster Auflösung ist hingegen der Faktor Betriebsystem gänzlich vernachlässigbar (0%).Ebenso verhält es sich bei der niedrigsten Auflösung von 800x600, wo noch ganze 3%Veränderung durch das Betriebssystem und unter 7% durch die Interaktion der beiden Faktorenhervorgerufen wird. Inwieweit die Veränderungen vom darunterliegenden System oder vomGrafiktreiber Detonator hervorgerufen werden, kann man nicht genau sagen.Generell scheinen Betriebssystem und Grafikkarte relativ unabhängig voneinander zu sein. In denhöheren Auflösungen ab 1024x768 ist keine Interaktion der beiden Faktoren festzustellen. Nur beider niedrigsten Auflösung 800x600 ergaben unsere Test einen Interaktionsbeitrag von 6.4%. Diesdeutet im Kontext der Grafiktreiber meistens auf verschieden hoch optimierte Treiberroutinen. Wirnehmen deshalb an, dass die Detonator Treiber unter den Windows Varianten aufgrund ihrerlängeren Verfügbarkeit mehr optimiert wurden. Trotz des kleinen prozentualenPerformancebeitrags zeigen die nebeneinander angetretenen Betriebssysteme in der absolutenFramerate zum Teil erhebliche Unterschiede. Diesem Phänomen gehen wir in derZusammenfassung unserer Ergebnisse weiter unter noch nach.Zusammenfassend beeinflusst die Wahl des Betriebssystems insbesondere bei High-End Grafik diePerformance überhaupt nicht. Einziger Flaschenhals muss hier die Grafikkarte sein, was uns auchdie nachfolgenden Tests bestätigen. Weniger klar ist die Situation bei mittlerer Auflösung: Sehrwahrscheinlich bewirken hier unterschiedlich ausgereifte Treiber, dass das Betriebssystem eineRolle spielen kann.

Prozessor/Mainboard-Grafikkarte

Aufbau

Alle neun Kombinationen der drei Prozessor/Mainboard Komponenten und der drei Grafikkartenwurden gemäss unserem Testformat getestet.Für den sekundären Faktor Betriebsystem haben wir Windows XP verwendet, weil es aufgrund derErgebnisse des Betriebsystem-Grafikarte-Tests gute Werte lieferte. Ausserdem hatten wir mit XPeinfacheren Zugriff auf die Daten auf unserem Server. Das Antialiasing wurde wiederumdeaktiviert, da wir, wie erwähnt, mit Antialiasing separate Tests durchführten.

Page 21: Abstrakt - ETH Z · Dazu werden als Grafikkarten ... Spiele bauen auf dieser Quake-Engine auf, was den Quake Benchmark im Vergleich zu anderen Spielebenchmarks, welche oft nur die

Beurteilung der Resultate

Auch für diesen Test benützten wir für beide Faktoren wieder je drei Levels, die uns sinnvollerschienen. Dieser Test war ein reiner Hardware-Test und wurde unter dem BetriebssystemWindows XP durchgeführt.Wir wollten wissen, welche Anteile die Grafikkarte und die Prozessor/Mainboard Komponente anden Berechnungen von „Quake III Arena“ haben. Wie verhalten sich diese Anteile beiverschiedenen Auflösungen? Wie sieht es mit der Auslastung der Prozessor/MainboardKomponente bei den verschiedenen Grafikchip-Generationen aus? Wie stark sind Prozessor undGrafikchip voneinander abhängig? Ermitteln wollten wir auch das Zusammenspiel der beidenFaktoren auf den verschiedenen Levels Low-End, Mid-Range und High-End. Inwieweit „passen“eine Low-End Grafikkarte zu einem High-End Prozessor? Welche Kombinationen bringen eineausgeglichene Belastung beider Faktoren?

Grafische Zusammenfassung

Die Resultate aus dem Prozessor/Mainboard-Grafikkarte Test sind in untenstehendem Diagrammzusammengefasst. Es stellt die prozentualen Beiträge der getesteten Faktoren an dieGesamtperformance dar. Die Fehler stellten sich dabei wiederum als so klein heraus, dass sievernachlässigt wurden.

Prozessor

Grafikchip

Interaktion

800x600, 32 bit

1024x786, 32 bit

1600x1200, 32 bit

0

10

20

30

40

50

60

70

80

90

100

Anteil in Prozent

Faktoren

Auflösung und Farbtiefe

Performance Beiträge von Prozessor und Grafikchip

800x600, 32 bit 69.7 16.8 13.5

1024x786, 32 bit 26.5 51.9 21.5

1600x1200, 32 bit 3.2 93.6 3.1

Prozessor Grafikchip Interaktion

Abbildung 4: Prozessor/Mainboard-Grafikkarte Übersicht

Page 22: Abstrakt - ETH Z · Dazu werden als Grafikkarten ... Spiele bauen auf dieser Quake-Engine auf, was den Quake Benchmark im Vergleich zu anderen Spielebenchmarks, welche oft nur die

Interpretation der Ergebnisse

Das auffälligste Merkmal des Testdiagramms stellt mit Sicherheit die regelmässige Anordnung derSäulen in den Dimensionen Faktor und Auflösung/Farbtiefe dar. Betrachtet man den Verlauf derPerformanceanteile von Prozessor und Grafikchip mit steigender Auflösung, so fallen der lineareAbfall des Prozessoranteils einerseits sowie der lineare Anstieg des Beitrags vom Grafikchipandererseits auf. Diese Regelmässigkeit kann in einem kurzen Satz auf den Punkt gebracht werden:Bei niedriger Auflösung hängt die Leistung stark vom Hauptprozessor ab, bei hoher Auflösungstark vom Grafikchip.Die dritte Säulenreihe der Dimension Faktoren zeigt den Performancebeitrag der Kombinationbeider Faktoren an. Hier ist vor allem bemerkenswert, wie der Beitrag bei der mittleren Auflösungvon 1024x768 sein Maximum annimmt. Dieser Fakt besagt nur, dass bei mittlerer Auflösung miteiner Änderung nur eines Faktors die Performance nicht eindeutig beeinflusst werden kann. Somacht eine GeForce 3 in Kombination mit einem Athlon 700 herzlich wenig Sinn bei einerAuflösung von 1024x768 bei 16 Bit, da die GeForce 3 hoffnungslos unterfordert ist. Ebenso ist dieWahl einer GeForce 256 bei 1600x1200 Auflösung, egal mit welcher Framebuffertiefe undwelchem Prozessor, nicht sehr geschickt. In diesen Fällen sollte eine Konfiguration gewähltwerden, deren Komponenten nicht aus so unterschiedlichen Leistungsbereichen kommen. Bei einermittleren Auflösung von 1024x768 muss daher von Fall zu Fall entschieden werden, welcherFaktor den Flaschenhals darstellt.Gerade für das Upgraden eines Computersystems bietet obige Abbildung wertvolle Hinweise. ImFalle eines kleinen Monitors unter 19 Zoll, der nur Auflösungen bis 1024x768 beherrscht, sollte beischwachen Prozessoren wie dem Athlon 700 dringend der Prozessor ausgetauscht werden. EinWechsel zu einer High-End Grafikkarte würde in diesem Fall keine messbare Leistungssteigerungmehr bringen. Soll jedoch ein High-End Monitor mit 21 Zoll mit der Auflösung von 1600x1200 bei32 Bit Farbtiefe betrieben werden, so empfiehlt sich der Einsatz einer schnellen Grafikkarte mitviel Videospeicher wie z.B. der GeForce 3. Andere Karten sind durch die Limitierung ihresSpeicherdurchsatzes und ihrer schlecht parallelisierten Renderpipelines bei diesem Durchsatzschlicht überfordert, eine Bildwiederholrate von mindestens 30 fps zu rendern. Die Eindeutigkeitdieses Resultats lässt sich durch die sehr niedrige Interaktion von etwas mehr als 3% bei1600x1200 bestätigen.Trotz der sehr symmetrisch wirkenden Anordnung der Performancebeiträge von Prozessor undGrafikkarte ist der durchschnittliche Beitrag geometrisch gemittelt über alle Auflösungen, was trotzder kategorischen Unterteilung dieser Dimension durchaus Sinn macht, verschieden: Wie nichtanders zu erwarten war, hängt eine 3D-Grafik Anwendung wie „Quake III Arena“ durchschnittlichmehr vom Prozessor ab als von der Grafikkarte. Nichts desto trotz scheint dieser Unterschied fürein Actionspiel sehr gering zu sein.Unserer Meinung nach liegt in den Grafikkarten der 3. GeForce Generation noch einige Leistungbrach, die von den Softwareentwicklern erst noch genutzt werden muss. Sieht man sich dietechnischen Daten der Quake-Engine an, die inzwischen auch schon etwas in die Jahre gekommenist, so sieht man nur so bekannte Technologien wie bi- und trilineares Filtern, Multitexturing undwenig andere Features der OpenGL Extensions. Insgesamt also alles Technologien, die schon seiteiniger Zeit effizient in Hardware ausführbar sind und hochoptimiert wurden. Neuere Schlagwörterwie T&L, Vertex- und Pixelshader waren zur Entwicklungszeit der Quake-Engine noch gar nichtgeboren.In diesem Sinne kann man sich ruhig fragen, wie viel Leistung des Grafikchips überhaupt nötig ist,um einen vernünftigen Kompromiss zwischen Anzeigequalität und Bildwiederholrate zu erreichen.Jedenfalls kann aus der Quake-Engine bei niedriger Auflösung mit GeForce 256 die gleicheoptische Qualität wie mit GeForce 3 erreicht werden. Die untere Schranke von 30 fps wird dabei injedem Fall mehr als übertroffen. Ob der grosse technische und finanzielle Aufwand, der für die

Page 23: Abstrakt - ETH Z · Dazu werden als Grafikkarten ... Spiele bauen auf dieser Quake-Engine auf, was den Quake Benchmark im Vergleich zu anderen Spielebenchmarks, welche oft nur die

High-End Auflösung 1600x1200 bei 32 Bit Farbtiefe mit 4-fach Antialiasing notwendig ist, einenreellen Gegenwert liefert, kann nur mit Vergleichen von Screenshots subjektiv beurteilt werden.

Antialiasing-Grafikkarte

Aufbau

Leider konnten wir bei diesem letzten Test kein „two factor full factorial design“ mehrdurchführen, da wir aufgrund eines Hardwaredefekts den schmerzlichen Verlust einer GeForce 2Grafikkarte hinnehmen mussten. Es konnte auch in nützlicher Frist nicht für Ersatz gesorgt werden.So wurde aus dem Zwei-Faktoren-Design ein reiner Antialiasing Test auf der GeForce 3. DieMischung aus Hardware-Faktor und Workload-Faktor Antialiasing hätte wahrscheinlich einmultiplikatives Modell als Grundlage für das Design des Experiments erfordert.Nebst der Grafikkarte wählten wir als Betriebsystem-Faktor wiederum Windows XP und alsProzessor/Mainboard-Faktor ebenfalls wieder PC3.

Beurteilung der Resultate

Ermittelt werden soll ein sinnvoller Performance/Qualität- Kompromiss, der auf den Levels Low-End, Mid-Range und High-End das Optimum an Spielfluss und optischer Schärfe liefert. DieMessungen wurden für die Antialiasing Tests alle auf unserem High-End System PC3durchgeführt. Da wir nur die GeForce 3 verwendeten, können alle Antialiasing Algorithmen inHardware durchgeführt werden. Frühere Generationen verwenden bei 2- und 4-fach Antialiasingdie Software-Emulation des Detonator Treibers. Durch die Beschränkung auf die GeForce 3 Kartekönnen wir daher die Resultate leichter vergleichen.Full Screen Antialiasing (FSAA) braucht zudem wegen des Multi/Super-Samplings ein Mehrfachesan Videospeicher im Gegensatz zum Rendern ohne Antialiasing. Zusammen mit denkomprimierten Texturen (S3TC, →Software-Ebene, Einstellungen der Engine) ist 4-fachAntialiasing mit 64 MB Videospeicher gerade noch möglich, weshalb sich ein Test mit derGeForce 256, die uns noch zur Verfügung stand, ebenfalls erübrigt.

Page 24: Abstrakt - ETH Z · Dazu werden als Grafikkarten ... Spiele bauen auf dieser Quake-Engine auf, was den Quake Benchmark im Vergleich zu anderen Spielebenchmarks, welche oft nur die

Grafische Zusammenfassung

Unsere durchgeführten Tests auf der GeForce 3, die wir in den PC3 eingebaut haben, sind in deruntenstehenden Grafik zusammengefasst.

800x600, 16 bit

800x600, 32 bit

1024x786, 16 bit

1024x786, 32 bit

1600x1200, 16 bit

1600x1200, 32 bit

kein Antialiasing

2-fach Antialiasing

4-fach Antialiasing

Quincunx Antialiasing

0

20

40

60

80

100

120

140

160

180

Bilder pro Sekunde

Auflösung und Farbtiefe

Antialiasing

Methode

Antialiasing auf Athlon 1400, Geforce 3, Windows XP

kein Antialiasing 159.70 160.40 157.20 155.70 111.97 105.73

2-fach Antialiasing 156.50 145.23 128.80 105.30 59.00 43.90

4-fach Antialiasing 142.30 116.70 102.90 69.80 41.00 43.90

Quincunx Antialiasing 150.67 129.20 108.60 84.60 47.50 35.30

800x600, 16 bit 800x600, 32 bit 1024x786, 16 bit 1024x786, 32 bit 1600x1200, 16 bit 1600x1200, 32 bit

Abbildung 5: Antialiasing-Grafikkarte Übersicht

Page 25: Abstrakt - ETH Z · Dazu werden als Grafikkarten ... Spiele bauen auf dieser Quake-Engine auf, was den Quake Benchmark im Vergleich zu anderen Spielebenchmarks, welche oft nur die

Interpretation der Ergebnisse

Wer viel Wert auf flüssiges Gameplay legt, schaltet Antialiasing unter allen Umständen aus: 4-fachAntialiasing zwingt jede Renderpipeline in die Knie. Betrachtet man die obige Grafik ein weniggenauer, springt der regelmässige Abfall der Performance mit eingeschaltetem Antialiasing imGegensatz zu der multilinearen Kurve der Leistung ohne Antialiasing sofort ins Auge. Da wir dieAntialiasing Tests mit einer GeForce 3 durchgeführt haben, können wir die theoretische Bandbreiteder Renderpipeline der GeForce 3 von 480 MTexel/s (120 MHz Chiptakt mal 4 einfach texturierteoder 2 dual texturierte Pixel) bei der Auflösung von 800x600 Pixel als Flaschenhals eindeutigausschliessen. Dank S3TC ohne Antialiasing befinden sich zudem alle Texturen im schnellenVideospeicher der mit 64 MB ausgestatteten GeForce 3. Limitierender Faktor ist hier sehrwahrscheinlich der Prozessor, was wir mangels höhergetakteten Prozessoren jedoch nichtverifizieren konnten.Interessant ist auch der grosse Performancesprung beim Übergang zu 1600x1200 Auflösung,sowohl bei 16 als auch bei 32 Bit Farbtiefe. Bei dieser Auflösung braucht alleine der Framebufferungefähr 8 MB Videospeicher; bei Triple-Buffering und unkomprimierten Texturen wird derVideospeicher durch die vielen benutzten Backbuffers und Texturebuffers vollständig gefüllt,sodass der AGP Bus sämtliche Daten aus dem Systemspeicher einlagern muss. So erklärt sich derdrastische Einbruch der Framerate bei der höchsten Auflösung.Schaltet man hingegen Antialiasing ein, wird der limitierende Faktor die Rechenleistung der GPU,die die Buffer sampeln muss, bevor das Resultat in den Framebuffer geblittet werden kann. Dieszeigt sich wegen der quadratischen Zunahme des Workloads in Form der zu rendernden Pixel ineiner leicht parabolisch abnehmenden Leistungskurve. Einziger Ausreisser bei unseren Tests war 4-fach Antialiasing bei 1600x1200 Auflösung und 16 Bit Farbtiefe, welches sogar von der gleichenAuflösung, aber mit 32 Bit Farbtiefe überboten wurde. Aufgrund unseres Testverfahrens(mehrfache Wiederholung mit Fehleranalyse) können wir diesen Testdurchgang nicht einfach alsOutlier klassieren.Eine mögliche Erklärung könnte der Rechenaufwand des Ditherns bei 16 Bit sein, der bei dieserhohen Auflösung, neben dem sowieso schon hohen Bedarf an Rechenzeit, anfängt zu dominieren.Diese These konnten wir jedoch nicht untermauern. Quincunx Antialiasing zeigt diese Anomalienicht, jedoch können wir den Grund ebenfalls nicht eruieren, da der Algorithmus kompliziertesMultisampling beinhaltet.Alles in allem ist Antialiasing ein Rechenleistung fressendes Feature, dessen Nutzen sehrbeschränkt ist. In der höchsten Auflösung kriegt man mit 35 Frames pro Sekunde eine Leistung, diebei entsprechenden Levels mit vielen künstlichen Gegnern auch schon mal unter die nötigeMindestrate von 30 Bildern pro Sekunde sinken kann, was wir aus eigener Erfahrung und ausBeobachtung des Testverlaufs im Level „Quaver“ bestätigen können. Für den professionellenGamer ist dadurch Antialiasing keine Option mehr.Ein mögliches Anwendungsgebiet sind Computersysteme mit niedrigauflösenden Monitoren. Bei800x600 bringt Antialiasing substantielle Verbesserungen vor allem bei leicht diagonalverlaufenden Kanten mit hohem Farbgradient. Bei der hohen Auflösung 1600x1200 fallen dieTreppeneffekte nicht einmal mehr bei hohen Kontrasten gross auf. Gerade bei diesen Auflösungenzeigten die Tests jedoch inakzeptable Performance der Grafikchips. So bleibt Antialiasing nichtviel mehr als eine Notlösung, durch „Verwischen“ der Treppeneffekte auf Kosten der Bildschärfeeine höhere Auflösung vorzugaukeln. Die visuellen Tests durch Screenshots im folgendenAbschnitt zeigen, dass echte Auflösung durch keinen Algorithmus zufrieden stellend emuliertwerden kann.Im Zuge der immer leistungsfähigeren Grafikkarten, die immer höhere Auflösungen bis zu2048x1536 darstellen können, scheint das Marketing-Argument Antialiasing einmal mehr einStrohfeuer der Hardwaregeschichte zu werden.

Page 26: Abstrakt - ETH Z · Dazu werden als Grafikkarten ... Spiele bauen auf dieser Quake-Engine auf, was den Quake Benchmark im Vergleich zu anderen Spielebenchmarks, welche oft nur die

Visuelle Tests

Neben den Time-Demo Benchmarks möchten wir die Ergebnisse noch mit optischen Testsuntermauern. Zu diesem Zweck zeigen wir für Einstellungen, welche die Grafikqualität sichtlichbeeinflussen, noch zusätzliche Screenshots, um eventuelle Leistungseinbrüche oderPerformancegewinne von Grafikeinstellungen mit ihren Qualitätsgewinnen oder –verlusten inRelation setzen zu können.

Quake Grafikengine Optionen

Color Depth

Die Framebuffer-Farbtiefe wird durch die Anzahl Bits definiert, welche für die Darstellung einesPixels im Framebuffer verwendet werden. Intern arbeiten heutige Grafikkarten alle mit 8 Bit proFarbkanal. Der 32 Bit Modus in Quake nutzt deshalb nur 24 Bit für die eigentliche Farbdarstellung,8 Bit sind für die Darstellung von Transparenz vorgesehen, welche nicht genutzt werden. Der 16Bit Modus verwendet ein 5:6:5 RGB-Schema. Ist der 16 Bit Modus aktiv, werden die 8 Bit dereinzelnen Farbkanäle nicht etwa einfach auf 5 Bit gerundet, sondern es wird ein so genannterDithering-Algorithmus angewendet. Dieser Algorithmus entscheidet zufällig oder geordnet, ob einPixelfarbwert nun abgerundet oder aufgerundet werden soll.Die geordneten Verfahren, welche in der GeForce-Serie verwendet werden, haben den grossenNachteil, dass sie bei mehrfacher übereinander liegender Anwendung, wie zum Beispiel beiTransparenzeffekten, Gitterstrukturen erzeugen. Dies kann man im Bild deutlich am Feuer derFackel erkennen.

Screenshot 1: Ausschnitt links 32 Bit, rechts 16 Bit Framebuffer

Page 27: Abstrakt - ETH Z · Dazu werden als Grafikkarten ... Spiele bauen auf dieser Quake-Engine auf, was den Quake Benchmark im Vergleich zu anderen Spielebenchmarks, welche oft nur die

Lighting

In Quake kommen zwei Beleuchtungsverfahren zum Einsatz. "Vertex Lighting" bestimmt mit Hilfevon Flächennormalen und Punktlichtquellen die Beleuchtung der Flächen. Dabei wird dieBeleuchtungsformel nur für jeden Eckpunkt ("Vertex") eines Polygons ausgewertet und für dieanderen Punkte einfach interpoliert. Dieses Verfahren zeigt seine Schwächen vor allem beiausgedehnten Polygonen. Zudem fehlt jeglicher Schattenwurf.Das "Lightmap" Verfahren liefert viel bessere Resultate. Dabei werden mit Hilfe eines vielkomplizierteren Beleuchtungsmodells Texturen für die Repräsentation der Beleuchtungswerte aufden Oberflächen vorberechnet. Diese Texturen werden dann bei der Echtzeitberechnung derSzenensicht einfach mit den anderen Oberflächentexturen kombiniert. Dieses Verfahren kann abernur auf statische Geometrie angewendet werden, da die Lightmap aus Performancegründen nicht inEchtzeit generiert werden kann.

Screenshot 2: Vertex Lighting

Page 28: Abstrakt - ETH Z · Dazu werden als Grafikkarten ... Spiele bauen auf dieser Quake-Engine auf, was den Quake Benchmark im Vergleich zu anderen Spielebenchmarks, welche oft nur die

Screenshot 3: oben Beleuchtung mit Lightmap, unten die Lightmap selbst

Geometry

Quake bietet mehrere Standardsets von Geometrie-Parametern an. Zum einen beeinflussen diesedie Anzahl der Polygone, welche zur Darstellung von gekrümmten Flächen des Levels verwendetwerden und zum anderen die Auswahl der Polygonmodelle der animierten Objekte. In denScreenshots kann man den Unterschied der zwei Einstellungen "LOW" und "HIGH" vor allem amnahen Torbogen, dem Kopf und dem Oberarm der Figur erkennen. Gemessen an der relativ kleinenLeistungseinbusse lohnt sich die Einstellung „HIGH“ auf jeden Fall.

Page 29: Abstrakt - ETH Z · Dazu werden als Grafikkarten ... Spiele bauen auf dieser Quake-Engine auf, was den Quake Benchmark im Vergleich zu anderen Spielebenchmarks, welche oft nur die

Screenshot 4: links Geometry “LOW”, rechts “HIGH”

Texture Detail

In Quake kann man aus unterschiedlich aufgelösten Texturen wählen, was die Qualität der Frameserheblich beeinflusst. Wie aus den Vortests ersichtlich, hat diese Option bei Grafikkarten mit mehrals 32 MB Videospeicher jedoch fast keinen Einfluss mehr auf die Grafikperformance, so dass inpraktisch allen Fällen „Texture Detail“ mit „HIGH“ gewählt wird.

Screenshot 5: links niedrige, rechts hohe Texture Detail Option

Texture Filter

Die Texturierung eines Framebuffer-Pixels geschieht mittels einer Rücktransformation in denTexturraum, welche durch die Texturprojektion eines geometrischen Objekts gegeben ist. DieseRücktransformation in den Texturraum kann nun für viele benachbarte Frame-Pixel den gleichen

Page 30: Abstrakt - ETH Z · Dazu werden als Grafikkarten ... Spiele bauen auf dieser Quake-Engine auf, was den Quake Benchmark im Vergleich zu anderen Spielebenchmarks, welche oft nur die

Textur-Pixel ergeben ("undersampling"), oder für einen Frame-Pixel nicht eindeutig sein, alsostehen mehrere Textur-Pixel zur Auswahl ("oversampling"). Um das Oversampling zu vermeidenwerden die Texturen für verschiedene Distanzen gefiltert ("downsampling") und diese imTexturspeicher als Mip-Maps zur Verfügung gestellt. Um den Effekt des Undersamplings zuvermeiden werden die Farbwerte der Textur-Punkte bilinear interpoliert, was einem Upsamplingentspricht. Folgender Screenshot soll den Effekt der bilinearen Interpolation verdeutlichen.

Screenshot 6: links keine, rechts bilineare Interpolation

Da die Mip-Maps nach Distanz zum Betrachter ausgewählt werden, ergeben sich Unstetigkeitender Filterung, wie in den folgenden Screenshots demonstriert wird. Um diese Unstetigkeiten zuvermeiden kann man zwischen zwei bilinearen gefilterten Mip-Map-Farbwerten noch einmalinterpolieren, was man dann kombiniert trilineare Filterung nennt.

Screenshot 7: Testmap, links bilineare Interpolation, rechts trilineare Interpolation

Page 31: Abstrakt - ETH Z · Dazu werden als Grafikkarten ... Spiele bauen auf dieser Quake-Engine auf, was den Quake Benchmark im Vergleich zu anderen Spielebenchmarks, welche oft nur die

Screenshot 8: links Ausschnitt bilineare Interpolation, rechts trilineare Interpolation

Compress Textures

Das Bedürfnis nach detaillierteren Texturen bedeutet auch grössere Anforderungen anTexturspeicher und Speicherzugriffsbandbreite der Grafikkarten. Um diese Anforderungen inGrenzen zu halten, kann man komprimierte Texturen verwenden. In Quake wird der S3TC-Standard der Firma S3 zur Kompression verwendet. Über den Effekt auf die Texturen in Quakelässt sich streiten, denn der optische Gewinn ist minimal. Trotz des gesamten Effekts von unter 1%auf die Gesamtperformance scheint dieses Feature bei Quake nicht vollständig ausgereizt zu sein.Andere 3D-Engines wie die Unreal Warfare Engine14 von Epic Games holen deutlich mehr aus denkomprimierten Texturen raus.

Screenshot 9: links ohne Compress Textures, rechts mit Compress Textures

14 http://www.epicgames.com/UnrealEngineNews.html

Page 32: Abstrakt - ETH Z · Dazu werden als Grafikkarten ... Spiele bauen auf dieser Quake-Engine auf, was den Quake Benchmark im Vergleich zu anderen Spielebenchmarks, welche oft nur die

Dynamic Light

Die Beleuchtung der Umgebung durch bewegte, leuchtende Objekte kann in Echtzeit berechnetwerden. Dabei werden Beleuchtungstexturen berechnet, welche mit den anderen Texturen, imspeziellen mit der Light-Map kombiniert werden. Die Vorteile von Dynamic Lighting werden vorallem bei bewegten Lichtquellen wie der unten abgebildeten Rakete deutlich sichtbar.

Screenshot 10: links ohne, rechts mit Dynamic Lighting

Full-Screen Antialiasing (FSAA)

Grafikausgabegeräte sind in der Auflösung, welche sie darstellen können, limitiert. Es entsteht alsoimmer ein Samplingfehler, welcher sich vor allem bei bewegten schrägen Kanten bemerkbarmachen kann. Da diese Zacken maximal die Grösse eines Pixels haben, kann man sie gut durchhöhere Auflösungen verkleinern. Bei sehr hohen Auflösungen (1600x1200) kommt der Aliasing-Effekt vor allem bei der Darstellung von Gittern, Netzen, Bäumen und sonstigen feinen Strukturenzur Geltung. Zur Verminderung des Aliasing wird ein Supersampling oder Multisamplingangewendet. Beide Methoden beruhen auf der mehrmaligen Farbberechnung an unterschiedlichenStellen in und am Rand eines Frame-Pixels. Die GeForce 3 bietet drei verschiedene Verfahren an.Während bei 2-fachem Antialiasing zwei Punkte im Pixel ausgewertet werden verwendet 4-fachAntialiasing deren vier. Quincunx ist ein spezieller Modus, bei dem nur zwei Samples verwendetwerden, aber noch drei Samples von benachbarten Pixeln hinzugezogen werden. Im Gegensatz zuden anderen Antialiasingverfahren gewichtet Quincunx die verschiedenen Samples, je nachPosition, unterschiedlich.

Page 33: Abstrakt - ETH Z · Dazu werden als Grafikkarten ... Spiele bauen auf dieser Quake-Engine auf, was den Quake Benchmark im Vergleich zu anderen Spielebenchmarks, welche oft nur die

Screenshot 11: Kein Antialiasing

Screenshot 12: 2-fach Antialiasing

Screenshot 13: Quincunx Antialiasing

Page 34: Abstrakt - ETH Z · Dazu werden als Grafikkarten ... Spiele bauen auf dieser Quake-Engine auf, was den Quake Benchmark im Vergleich zu anderen Spielebenchmarks, welche oft nur die

Screenshot 14: 4-fach Antialiasing

Page 35: Abstrakt - ETH Z · Dazu werden als Grafikkarten ... Spiele bauen auf dieser Quake-Engine auf, was den Quake Benchmark im Vergleich zu anderen Spielebenchmarks, welche oft nur die

Zusammenfassung der Ergebnisse

Low-End Grafik Systeme

Die untenstehende Grafik zeigt die verschiedenen Betriebssysteme auf unserem PC3 mit derGrafikkarte GeForce 256. PC3 wurde gewählt, um die Grafikkarte als schwächstes Glied undFlaschenhals auf Herz und Nieren zu testen. Es soll gezeigt werden, welches Betriebssystem ambesten mit Low-End Grafik zusammenarbeitet.

800x600, 16 bit

800x600, 32 bit

1024x786, 16 bit

1024x786, 32 bit

1600x1200, 16 bit

1600x1200, 32 bit

LinuxWindows XP Windows 98

0

20

40

60

80

100

120

140

Bilder pro Sekunde

Auflösung und

Farbtiefe

Betriebssystem

Performance auf Geforce 256

Linux 86.10 86.10 53.10 53.10 25.97 25.97

Windows XP 124.40 114.23 82.80 74.20 35.30 27.90

Windows 98 75.10 69.47 57.60 52.00 30.10 24.07

800x600, 16 bit 800x600, 32 bit 1024x786, 16 bit 1024x786, 32 bit1600x1200, 16

bit

1600x1200, 32

bit

Abbildung 6: Performance der Betriebssysteme auf Low-End Grafik

Interessant ist in diesem Zusammenhang vor allem die unterschiedliche Performancekurve derbeiden Windows Betriebssysteme. Während alle getesteten Betriebssysteme bei der höchstenAuflösung die schon nicht mehr akzeptable Performance von 25 bis 30 fps zeigen, also alle etwa

Page 36: Abstrakt - ETH Z · Dazu werden als Grafikkarten ... Spiele bauen auf dieser Quake-Engine auf, was den Quake Benchmark im Vergleich zu anderen Spielebenchmarks, welche oft nur die

gleiche Leistung zeigen, schert die Leistung bei niedriger Auflösung drastisch auseinander, z.T. bis50 fps Unterschied.Die erste Beobachtung an sich kann gut durch die limitierte Speicherbandbreite der GeForce 256erklärt werden, die auch bedingt durch den geringen Speicherausbau von 32 MB DDR-RAMzusätzlich verschärft wird. Dadurch wird der AGP-Bus stark benützt, um Texturen und Backbuffersvom Hauptspeicher in den Videospeicher zu kopieren. Dieser ganze Vorgang ist logischerweisesehr Hardware lastig, so dass die Betriebssysteme die Leistung wenig bis gar nicht beeinflussen.Bei sehr niedriger Auflösung unter 800x600 bei nur 16 Bit Farbtiefe ist Windows XP mit knapp 40fps im Vorsprung gegenüber Linux. Windows 98, von Microsoft als das ideale Betriebssystem fürSpieler gepriesen, erscheint abgeschlagen auf Platz 3 mit einer Bildwiederholrate von „nur“ 75 fps.Diese Beobachtung bedarf sicher einiger Erklärung.Als erstes muss sicher die unterschiedliche Architektur der beiden Windows Konkurrenten erwähntwerden. Windows 98, Nachfolger des ersten 32 Bit Systems von Microsoft Windows 95, ist ausKompatibilitätsgründen immer noch kein vollständig auf 32 Bit ausgelegtes System. Um die nochimmer weit verbreiteten DOS Programme laufen lassen zu können, ist Windows 98 im Kernteilweise noch in 16 Bit programmiert. Windows XP, der Nachfolger des ProfibetriebssystemsWindows 2000 wurde schon von Anfang an als 32 Bit Architektur ausgelegt, wobei keineKompromisse in Sachen Kompatibilität eingegangen wurden. Anscheinend hat sich dieseEntscheidung als richtig erwiesen, ist doch die Architektur heute leistungsfähig genug, 3D-Grafikmit hoher Leistung zu rendern. Dies ist umso erstaunlicher, als dass Windows NT gar nicht alsBetriebssystem für Echtzeitgrafik konzipiert wurde. So drücken die Altlasten der Windows 3.x Ärabei den Windows 9x Betriebssystemen gewaltig auf die Grafikperformance. Nähere Gründe könnenwir hier jedoch auch nicht angeben. Möglicherweise benötigt der Kontextwechsel von 32 Bit Codezu 16 Bit Code sehr viel Zeit. Dazu kommt noch, dass die Windows 9x Betriebssysteme von je herals Grafikschnittstelle das hauseigene DirectX 15 favorisierten, ganz im Gegensatz zumprofessionellen Betriebssystem Windows NT, das als einzige 3D-Grafikschnittstelle OpenGLvorzuweisen hatte. Erst mit Windows 2000 bekam dieses Betriebssystem eine vollwertige DirectXUnterstützung verpasst.Eigenartigerweise bringt jedoch das vollwertige 32 Bit Betriebssystem Linux nicht mehr als etwa10 fps an Mehrleistung als Windows 98. Ebenfalls auffällig sind die Treppenstufen derPerformancerampe von Linux. Beide Fakten scheinen auf zu wenig optimierte Treiber hinzudeuten.Offensichtlich liegt auch bei einer GeForce 256 noch deutend mehr Leistung drin. Zusätzlich sinddie 16 Bit Farbtiefen Tests fast leistungsgleich mit denjenigen mit 32 Bit. Trotz dem aufwändigenDithering-Algorithmus sollte erfahrungsgemäss die 16 Bit Leistung deutlich höher ausfallen als die32 Bit Variante, denn schliesslich wird jeweils nur die Hälfte der Framebuffergrösse gebraucht,was in höherem Speicherdurchsatz resultiert. Windows XP bestätigt diese Vermutungen mit einerRampe fast ohne Treppenstufen.Zusammenfassend vermuten wir, dass die Detonator Treiber unter Linux noch einiger Optimierungbedürfen, um mit ihrem Counterpart unter den 32-Bit Windows Betriebssystemen konkurrieren zukönnen. Die 16 Bit Farbmodi könnten eindeutig noch mehr beschleunigt werden. SchlechtePerformance in den niedrigen 16 Bit Auflösungen ist bekanntermassen ein Indiz für wenigoptimierte Treiber. In diesen Auflösungen kann so nur Windows XP zeigen, was aus einer GeForce256 herausgeholt werden kann. Deshalb kann bei dieser Konfiguration nur Windows XP empfohlenwerden. Bei 1600x1200 wird das Betriebssystem sowieso bedeutungslos, denn 32 MBVideospeicher mit einer first generation GPU sind hier eindeutig zu Leistungsschwach, umflüssiges Gameplay zu ermöglichen.

15 http://www.microsoft.com/directx

Page 37: Abstrakt - ETH Z · Dazu werden als Grafikkarten ... Spiele bauen auf dieser Quake-Engine auf, was den Quake Benchmark im Vergleich zu anderen Spielebenchmarks, welche oft nur die

Mid-Range Grafik Systeme

Die Tests mit unserer noch lebenden GeForce 2 unter den Betriebssystemen Linux, Windows XP,Windows 98 haben wir in untenstehender Grafik zusammengefasst. Verwendet wurde ebenfallsPC3, um die Grafikkarte voll ausreizen zu können. Die Tests wurden sonst analog zu den Low-EndTests durchgeführt.

800x600, 16 bit

800x600, 32 bit

1024x786, 16 bit

1024x786, 32 bit

1600x1200, 16 bit

1600x1200, 32 bit

LinuxWindows XP

Windows 98

0

20

40

60

80

100

120

140

160

Bilder pro Sekunde

Auflösung und

Farbtiefe

Betriebssystem

Performance auf Geforce 2

Linux 145.97 145.73 96.30 96.30 47.20 47.20

Windows XP 158.50 153.40 148.67 119.43 77.00 51.30

Windows 98 98.87 87.20 84.47 70.10 54.00 39.20

800x600, 16 bit 800x600, 32 bit 1024x786, 16 bit 1024x786, 32 bit 1600x1200, 16 bit 1600x1200, 32 bit

Abbildung 7: Performance der Betriebssysteme auf System mit Mid-Range Grafik

Die Leistungsdaten haben sich bei den Mid-Range Tests grundlegend gegenüber den Low-EndTests geändert. Windows XP konnte seine Position nicht mehr so eindeutig halten wie bei denLow-End Grafikkarten. Linux ist dem Profibetriebssystem von Microsoft in den 32 Bit FarbtiefenAuflösungen bis höchstens 20 fps Unterschied näher gerückt, während Windows 98 weiterhinbeträchtlich hinterherhinkt, vor allem bei niedrigen Auflösungen.Beachtenswert sind bei Linux wiederum die charakteristischen Treppenstufen, die durch die 16 BitFarbmodi entstehen. Die Situation konnte also auch nicht mit einer leistungsfähigeren Grafikkarteverbessert werden, was ebenfalls auf das erwähnte Problem mit den Detonator-Treibern hinweist.Bei 32 Bit Farbtiefe kann Linux auf einer GeForce 2 Windows XP wieder Konkurrenz machen. DieLeistungsunterschiede belaufen sich auf durchschnittlich etwa 12 fps, was oberhalb der kritischen

Page 38: Abstrakt - ETH Z · Dazu werden als Grafikkarten ... Spiele bauen auf dieser Quake-Engine auf, was den Quake Benchmark im Vergleich zu anderen Spielebenchmarks, welche oft nur die

Schranke von 30 fps vom User sowieso nicht mehr wahrgenommen wird. Selbst bei 1600x1200bringen beide Betriebssysteme noch ungefähr 50 Bilder pro Sekunde, was in dieser Auflösung alsausreichend bezeichnet werden kann.Windows XP skaliert auch in diesem Test am besten. Ein nahezu linearer Performanceabfall durchdie verschiedenen Auflösungen und Farbtiefen lässt auf einen reifen und optimierten Treiberschliessen, der das jeweils bestmögliche aus der Hardware herausholt. Windows 98 skaliertebenfalls zufrieden stellend, scheint aber durch die schon oben erwähnten Mängel in derArchitektur auch mit schneller Hardware seine Mühe zu haben. Der Leistungsunterschied zwischenWindows 98 und Windows XP scheint sich in etwa proportional zur jeweiligen Grafikleistung desBetriebssystems zu verhalten. Dies sehen wir auch als Indiz für die schlechten Auswirkung dergemischten 16-, 32-Bit Architektur auf die 3D-Grafik Leistung unter OpenGL.Zusammenfassend hat sich vor allem Linux bei diesen Tests als Aufsteiger gezeigt. Im Bereich derMid-Range Grafik können daher Windows XP und Linux gleichermassen gut unter der Quake-Engine eingesetzt werden. Durch die schlechten 16 Bit Farbmodi von Linux empfiehlt sichgenerell, die Quake-Engine auf 32 Bit Farbtiefe zu konfigurieren. Nicht nur ist der Leistungsabfallminimal bis gar nicht vorhanden, sondern es wird eine ganze Reihe von visuellen Artefaktenvermieden, die durch das Herunterrechnen der Farbwerte entstehen. Beispiele zu diesen Artefaktenfinden sich im Kapitel →Visuelle Tests. Heutige Grafikkarten rechnen intern sowieso alle mit 32Bit. Windows 98 bleibt weiter abgeschlagen auf dem dritten Platz, trotz einer beachtlichenSteigerung von etwa 15 bis 25 Bildern pro Sekunde. Mit einer GeForce 2 bringt nun auch Windows98 die nötige Leistungsreserve, um bei belebteren Maps flüssiges Gameplay zu ermöglichen, bleibtaber bei niedrigeren Auflösungen nur eine schlechte Alternative.

Page 39: Abstrakt - ETH Z · Dazu werden als Grafikkarten ... Spiele bauen auf dieser Quake-Engine auf, was den Quake Benchmark im Vergleich zu anderen Spielebenchmarks, welche oft nur die

High-End Grafik Systeme

Neben Low-End und Mid-Range haben wir natürlich auch die GeForce 3 als High-End Grafikkartefür Computerspieler getestet. Als Computersystem verwendeten wir wieder PC3, der mit einerGeForce 3 ausgerüstet erstmals richtig gefordert wurde.

800x600, 16 bit

800x600, 32 bit

1024x786, 16 bit

1024x786, 32 bit

1600x1200, 16 bit

1600x1200, 32 bit

LinuxWindows XP Windows 98

0

20

40

60

80

100

120

140

160

180

Bilder pro Sekunde

Auflösung und

Farbtiefe

Betriebssystem

Performance auf Geforce 3

Linux 165.90 165.63 149.50 149.57 104.83 104.80

Windows XP 159.70 160.40 157.20 155.70 111.97 105.73

Windows 98 103.47 102.40 92.27 90.07 63.40 60.10

800x600, 16 bit 800x600, 32 bit 1024x786, 16 bit 1024x786, 32 bit1600x1200, 16

bit

1600x1200, 32

bit

Abbildung 8: Performance der Betriebssysteme auf System mit High-End Grafik

Mit einer GeForce 3 ausgerüstet haben beide reinen 32-Bit Betriebssysteme nochmals ordentlich inder Leistung zugelegt. Windows 98 hingegen liegt weiterhin am Schluss und scheint auch unterschneller Hardware nur bedingt skalieren zu wollen. Die magische Grenze von etwa 100 fps wirdzwar unter allen Grafikchips in etwa erreicht aber niemals überschritten. Immerhin konnte sichWindows 98 bei der höchsten Auflösung von 1600x1200 bei 32 Bit Farbtiefe nochmals linearsteigern. Auffallend ist bei Windows XP vor allem das Performance Plateau bei den Auflösungen800x600 und 1024x768. Unserer Meinung nach tritt hier eine gewisse Sättigung der Performanceein, die bei etwa 160 fps liegt. Möglicherweise ist hier der Prozessor wieder limitierender Faktor.Gemäss den technischen Daten der GeForce 3, →Testumgebung, ist die GeForce bei 800x600 noch

Page 40: Abstrakt - ETH Z · Dazu werden als Grafikkarten ... Spiele bauen auf dieser Quake-Engine auf, was den Quake Benchmark im Vergleich zu anderen Spielebenchmarks, welche oft nur die

weit davon entfernt, vollständig ausgelastet zu sein. So stellt sich in diesem Zusammenhang einmalmehr die Frage, ob derartige Grafikmonster wie die GeForce 3 mit ihren gewaltigen Durchsatzratenheute schon effektiven Nutzen bringen. Auch auf längere Zeit hinaus scheint keine Technologie inSicht, die den flüchtigen Speichern wie Video-RAM und Hauptspeicher endlich die Bandbreitebescheren kann, die eine GeForce 3 voll auslasten würde.Linux konnte sich mit der GeForce 3 erstaunlicherweise mit Windows XP gleichsetzen. Beiniedrigen Auflösungen liegt das freie Betriebssystem sogar um etwa 5 fps im Vorsprung. Beihöheren Auflösungen gegen 1600x1200 bei 32 Bit scheinen die beiden Betriebssysteme keinenEinfluss mehr zu haben. Nur Windows 98 kann nicht zu den beiden anderen Systemenaufschliessen und bleibt daher im Bereich High-End Grafik auch für OpenGL Computerspiele diedritte Wahl. Der 16 Bit Artefakt, den Linux schon in den beiden anderen Tests zeigte, ist auch beider GeForce 3 wieder deutlich zu sehen. Die Unterschiede zwischen den Resultaten bei 16 und bei32 Bit liegen im Rahmen der Messgenauigkeit und müssen als identisch angeschaut werden. Durchdiese Tatsache, die schon in den beiden anderen Tests zu Tage getreten ist, sind wir stutziggeworden und haben die von den Scripten jeweils generierten Konfigurationsdateien überprüft.Dank sorgfältiger Untersuchung der Dateien und zusätzlichen Dumps der Quake Konsole konntenwir uns versichern, dass die Engine korrekterweise mit 16 Bit Farbtiefe initialisiert wurde. Wirnehmen an, dass der Fehler nun definitiv bei der Detonator Treibersuite von Nvidia liegt. DieDesktopauflösung und Farbtiefe des X-Window Systems hatten wir analog zu den Tests unter denWindows Betriebssystemen jeweils dem Testdurchgang angepasst, damit der Detonator nicht etwaautomatisch eine andere Desktop-Farbtiefe übernimmt. Unter Windows scheint dies einwandfreigeklappt zu haben. Es ist deshalb sehr wahrscheinlich, dass bei den Tests eine Einstellung oderEigenart des Detonators übersehen wurde, und das ganze ebenfalls in 32 Bit gerendert wurde.Zusammenfassend hat sich das Bild beim Übergang von einer GeForce 2 zu einer GeForce 3 nichtwesentlich verändert. Windows 98 ist immer noch sehr schwach auf der Brust und skaliert auch beileistungsfähigeren Grafikkarten immer schlechter. Die 100 fps Grenze bei 800x600 zeigt auf, dassOpenGL unter Windows 98 keine Alternative ist. Die echten 32-Bit Betriebssysteme konntenjedoch nochmals kräftig zulegen und präsentieren eine Leistung, die alle Wünsche abdeckt. Linuxist auf der GeForce 3 nun leistungsmässig gleichauf mit Windows XP, so dass die freie Wahl desBetriebssystems endlich auch für Computerspieler Realität geworden ist.

Page 41: Abstrakt - ETH Z · Dazu werden als Grafikkarten ... Spiele bauen auf dieser Quake-Engine auf, was den Quake Benchmark im Vergleich zu anderen Spielebenchmarks, welche oft nur die

Appendix

Messresultate

Die Tests bestehen aus jeweils sechs Durchgängen mit drei Wiederholungen. Die sechsDurchgänge variieren die Bildschirmauflösung und Farbtiefe, während die Wiederholungen für dieVertrauensintervalle und Fehleranalyse gebraucht werden.

Auflösung und Farbtiefe800x600, 16 bit800x600, 32 bit1024x768, 16 bit1024x768, 32 bit1600x1200, 16 bit1600x1200, 32 bit

Tabelle 16: Testdurchgänge unter verschiedenen Auflösungen und Farbtiefen

Alle Messresultate wurden in Anzahl Bilder pro Sekunde (Framerate) gemessen. Die rechtenbeiden Kolonnen geben ein Vertrauensintervall mit der angegebenen Fehlerwahrscheinlichkeit an.

Betriebssystem-Grafikkarte

Athlon 1400, GeForce 256, 98 Mittelwert Standardabweichung Lower 5% Upper 5%

75.10 75.10 75.10 75.10 0.00000 75.10000 75.10000

69.40 69.50 69.50 69.47 0.05774 69.40133 69.53200

57.60 57.60 57.60 57.60 0.00000 57.60000 57.60000

52.00 52.00 52.00 52.00 0.00000 52.00000 52.00000

30.10 30.10 30.10 30.10 0.00000 30.10000 30.10000

24.10 24.00 24.10 24.07 0.05774 24.00133 24.13200

Athlon 1400, GeForce 2, 98

98.80 98.90 98.90 98.87 0.05774 98.80133 98.93200

87.20 87.20 87.20 87.20 0.00000 87.20000 87.20000

84.40 84.50 84.50 84.47 0.05774 84.40133 84.53200

70.10 70.10 70.10 70.10 0.00000 70.10000 70.10000

54.00 54.00 54.00 54.00 0.00000 54.00000 54.00000

39.20 39.20 39.20 39.20 0.00000 39.20000 39.20000

Athlon 1400, GeForce 3, 98

103.40 103.50 103.50 103.47 0.05774 103.40133 103.53200

102.40 102.40 102.40 102.40 0.00000 102.40000 102.40000

92.20 92.30 92.30 92.27 0.05774 92.20133 92.33200

90.00 90.10 90.10 90.07 0.05774 90.00133 90.13200

Page 42: Abstrakt - ETH Z · Dazu werden als Grafikkarten ... Spiele bauen auf dieser Quake-Engine auf, was den Quake Benchmark im Vergleich zu anderen Spielebenchmarks, welche oft nur die

63.40 63.40 63.40 63.40 0.00000 63.40000 63.40000

60.10 60.10 60.10 60.10 0.00000 60.10000 60.10000

Tabelle 17: Messresultate unter Windows 98

Athlon 1400, GeForce 256, Linux Mittelwert Standardabweichung Lower 5% Upper 5%

86.10 86.10 86.10 86.10 0.00000 86.10000 86.10000

86.10 86.10 86.10 86.10 0.00000 86.10000 86.10000

53.10 53.10 53.10 53.10 0.00000 53.10000 53.10000

53.10 53.10 53.10 53.10 0.00000 53.10000 53.10000

26.00 25.90 26.00 25.97 0.05774 25.90133 26.03200

26.00 25.90 26.00 25.97 0.05774 25.90133 26.03200

Athlon 1400, GeForce 2, Linux

145.70 146.10 146.10 145.97 0.23094 145.70534 146.22799

145.70 145.80 145.70 145.73 0.05774 145.66800 145.79867

96.30 96.30 96.30 96.30 0.00000 96.30000 96.30000

96.30 96.30 96.30 96.30 0.00000 96.30000 96.30000

47.20 47.20 47.20 47.20 0.00000 47.20000 47.20000

47.20 47.20 47.20 47.20 0.00000 47.20000 47.20000

Athlon 1400, GeForce 3, Linux

165.80 166.00 165.90 165.90 0.10000 165.78684 166.01316

165.60 165.50 165.80 165.63 0.15275 165.46048 165.80619

149.60 149.90 149.00 149.50 0.45826 148.98144 150.01856

149.50 149.70 149.50 149.57 0.11547 149.43600 149.69733

104.80 104.90 104.80 104.83 0.05774 104.76800 104.89867

104.70 104.80 104.90 104.80 0.10000 104.68684 104.91316

Tabelle 18: Messresultate unter Suse Linux

Athlon 1400, GeForce 256, XP Mittelwert Standardabweichung Lower 5% Upper 5%

124.40 124.40 124.40 124.40 0.00000 124.40000 124.40000

114.30 114.20 114.20 114.23 0.05774 114.16800 114.29867

82.80 82.80 82.80 82.80 0.00000 82.80000 82.80000

74.20 74.20 74.20 74.20 0.00000 74.20000 74.20000

35.30 35.30 35.30 35.30 0.00000 35.30000 35.30000

27.90 27.90 27.90 27.90 0.00000 27.90000 27.90000

Athlon 1400, GeForce 2, XP

156.60 159.30 159.60 158.50 1.65227 156.63032 160.36968

153.40 153.40 153.40 153.40 0.00000 153.40000 153.40000

148.40 148.80 148.80 148.67 0.23094 148.40534 148.92799

119.40 119.40 119.50 119.43 0.05774 119.36800 119.49867

77.00 77.00 77.00 77.00 0.00000 77.00000 77.00000

51.30 51.30 51.30 51.30 0.00000 51.30000 51.30000

Athlon 1400, GeForce 3, XP

159.20 159.90 160.00 159.70 0.43589 159.20675 160.19325

160.40 160.40 160.40 160.40 0.00000 160.40000 160.40000

Page 43: Abstrakt - ETH Z · Dazu werden als Grafikkarten ... Spiele bauen auf dieser Quake-Engine auf, was den Quake Benchmark im Vergleich zu anderen Spielebenchmarks, welche oft nur die

157.10 157.30 157.20 157.20 0.10000 157.08684 157.31316

155.60 155.80 155.70 155.70 0.10000 155.58684 155.81316

111.90 112.00 112.00 111.97 0.05774 111.90133 112.03200

105.70 105.70 105.80 105.73 0.05774 105.66800 105.79867

Tabelle 19: Messresultate unter Windows XP

Prozessor/Mainboard-Grafikkarte

Athlon 700, GeForce 256, XP Mittelwert Standardabweichung Lower 5% Upper 5%

87.70 87.60 87.70 87.67 0.05774 87.60133 87.73200

86.50 86.40 86.50 86.47 0.05774 86.40133 86.53200

77.40 77.40 77.30 77.37 0.05774 77.30133 77.43200

70.70 70.70 70.70 70.70 0.00000 70.70000 70.70000

35.00 35.00 35.00 35.00 0.00000 35.00000 35.00000

27.70 27.80 27.70 27.73 0.05774 27.66800 27.79867

Athlon 1200, GeForce 256, XP

116.00 116.00 116.00 116.00 0.00000 116.00000 116.00000

108.30 108.40 108.30 108.33 0.05774 108.26800 108.39867

82.00 82.00 82.00 82.00 0.00000 82.00000 82.00000

73.60 73.60 73.60 73.60 0.00000 73.60000 73.60000

35.20 35.20 35.20 35.20 0.00000 35.20000 35.20000

27.80 27.90 27.80 27.83 0.05774 27.76800 27.89867

Athlon 1400, GeForce 256, XP

124.40 124.40 124.40 124.40 0.00000 124.40000 124.40000

114.30 114.20 114.20 114.23 0.05774 114.16800 114.29867

82.80 82.80 82.80 82.80 0.00000 82.80000 82.80000

74.20 74.20 74.20 74.20 0.00000 74.20000 74.20000

35.30 35.30 35.30 35.30 0.00000 35.30000 35.30000

27.90 27.90 27.90 27.90 0.00000 27.90000 27.90000

Tabelle 20: Messresultate GeForce 256

Athlon 700, GeForce 2, XP Mittelwert Standardabweichung Lower 5% Upper 5%

47.50 47.50 47.50 47.50 0.00000 47.50000 47.50000

47.10 47.20 47.10 47.13 0.05774 47.06800 47.19867

46.70 46.70 46.60 46.67 0.05774 46.60133 46.73200

44.00 44.00 44.00 44.00 0.00000 44.00000 44.00000

31.90 31.90 31.90 31.90 0.00000 31.90000 31.90000

24.50 24.50 24.50 24.50 0.00000 24.50000 24.50000

Athlon 1200, GeForce 2, XP

124.90 127.20 127.30 126.47 1.35769 124.93032 128.00301

126.30 126.30 126.30 126.30 0.00000 126.30000 126.30000

124.60 124.50 124.50 124.53 0.05774 124.46800 124.59867

111.20 111.10 111.20 111.17 0.05774 111.10133 111.23200

76.40 76.40 76.40 76.40 0.00000 76.40000 76.40000

Page 44: Abstrakt - ETH Z · Dazu werden als Grafikkarten ... Spiele bauen auf dieser Quake-Engine auf, was den Quake Benchmark im Vergleich zu anderen Spielebenchmarks, welche oft nur die

51.10 51.10 51.10 51.10 0.00000 51.10000 51.10000

Athlon 1400, GeForce 2, XP

156.60 159.30 159.60 158.50 1.65227 156.63032 160.36968

153.40 153.40 153.40 153.40 0.00000 153.40000 153.40000

148.40 148.80 148.80 148.67 0.23094 148.40534 148.92799

119.40 119.40 119.50 119.43 0.05774 119.36800 119.49867

77.00 77.00 77.00 77.00 0.00000 77.00000 77.00000

51.30 51.30 51.30 51.30 0.00000 51.30000 51.30000

Tabelle 21: Messresultate GeForce 2

Athlon 700, GeForce 3, XP Mittelwert Standardabweichung Lower 5% Upper 5%

87.60 89.10 89.20 88.63 0.89629 87.61911 89.64756

89.00 89.10 88.90 89.00 0.10000 88.88684 89.11316

88.20 88.20 88.30 88.23 0.05774 88.16800 88.29867

88.40 88.30 88.30 88.33 0.05774 88.26800 88.39867

83.20 83.20 83.30 83.23 0.05774 83.16800 83.29867

81.50 81.50 81.50 81.50 0.00000 81.50000 81.50000

Athlon 1200, GeForce 3, XP

127.50 127.50 127.50 127.50 0.00000 127.50000 127.50000

127.80 127.70 127.70 127.73 0.05774 127.66800 127.79867

126.10 126.20 126.10 126.13 0.05774 126.06800 126.19867

125.70 125.80 125.70 125.73 0.05774 125.66800 125.79867

103.60 103.60 103.60 103.60 0.00000 103.60000 103.60000

98.90 98.90 98.90 98.90 0.00000 98.90000 98.90000

Athlon 1400, GeForce 3, XP

159.20 159.90 160.00 159.70 0.43589 159.20675 160.19325

160.40 160.40 160.40 160.40 0.00000 160.40000 160.40000

157.10 157.30 157.20 157.20 0.10000 157.08684 157.31316

155.60 155.80 155.70 155.70 0.10000 155.58684 155.81316

111.90 112.00 112.00 111.97 0.05774 111.90133 112.03200

105.70 105.70 105.80 105.73 0.05774 105.66800 105.79867

Tabelle 22: Messresultate GeForce 3

Antialiasing-Grafikkarte

Athlon 1400, GeForce 3, XP Mittelwert Standardabweichung Lower 5% Upper 5%

159.20 159.90 160.00 159.70 0.44 159.20675 160.19325

160.40 160.40 160.40 160.40 0.00 160.40000 160.40000

157.10 157.30 157.20 157.20 0.10 157.08684 157.31316

155.60 155.80 155.70 155.70 0.10 155.58684 155.81316

111.90 112.00 112.00 111.97 0.06 111.90133 112.03200

105.70 105.70 105.80 105.73 0.06 105.66800 105.79867

Tabelle 23: Messresultate ohne Antialiasing

Page 45: Abstrakt - ETH Z · Dazu werden als Grafikkarten ... Spiele bauen auf dieser Quake-Engine auf, was den Quake Benchmark im Vergleich zu anderen Spielebenchmarks, welche oft nur die

Athlon 1400, GeForce 3, 2-fach, XP Mittelwert Standardabweichung Lower 5% Upper 5%

156.40 156.60 156.50 156.50 0.10000 156.38684 156.61316

145.00 145.40 145.30 145.23 0.20817 144.99778 145.46889

128.80 128.80 128.80 128.80 0.00000 128.80000 128.80000

105.30 105.30 105.30 105.30 0.00000 105.30000 105.30000

59.00 59.00 59.00 59.00 0.00000 59.00000 59.00000

43.90 43.90 43.90 43.90 0.00000 43.90000 43.90000

Tabelle 24: Messresultate mit 2-fach Antialiasing

Athlon 1400, GeForce 3, 4-fach, XP Mittelwert Standardabweichung Lower 5% Upper 5%

142.30 142.30 142.30 142.30 0.00000 142.30000 142.30000

116.70 116.70 116.70 116.70 0.00000 116.70000 116.70000

102.90 102.90 102.90 102.90 0.00000 102.90000 102.90000

69.80 69.80 69.80 69.80 0.00000 69.80000 69.80000

41.00 41.00 41.00 41.00 0.00000 41.00000 41.00000

43.90 43.90 43.90 43.90 0.00000 43.90000 43.90000

Tabelle 25: Messresultate mit 4-fach Antialiasing

Athlon 1400, GeForce 3, Quincunx, XP Mittelwert Standardabweichung Lower 5% Upper 5%

150.60 150.70 150.70 150.67 0.05774 150.60133 150.73200

129.20 129.20 129.20 129.20 0.00000 129.20000 129.20000

108.60 108.60 108.60 108.60 0.00000 108.60000 108.60000

84.60 84.60 84.60 84.60 0.00000 84.60000 84.60000

47.50 47.50 47.50 47.50 0.00000 47.50000 47.50000

35.30 35.30 35.30 35.30 0.00000 35.30000 35.30000

Tabelle 26: Messresultate mit Quincunx Antialiasing

Linux-Windows XP

Alle folgenden Vergleiche zwischen den Betriebssystemen sind auf PC3 durchgeführt worden. Jesechs Tests unter den oben erwähnten Auflösungen und Farbtiefen wurden auf GeForce 256,GeForce 2 und GeForce 3 ausgeführt, um herauszufinden, welches Betriebssystem am bestenabschneidet.

Linux Windows XP Beobachtungen Mittelwert Standardabweichung Lower 1% Upper 1%

75.10 86.10 -11.00000 -27.52222 26.36137251 -43.52698 -11.51746

69.47 86.10 -16.63333

57.60 53.10 4.50000

52.00 53.10 -1.10000 Betriebssysteme sind also mit 99% Sicherheit verschieden

30.10 25.97 4.13333

24.07 25.97 -1.90000 Windows XP ist im Durchschnitt schneller

98.87 145.97 -47.10000

87.20 145.73 -58.53333 Vorsprung 27.5

84.47 96.30 -11.83333

70.10 96.30 -26.20000

54.00 47.20 6.80000

39.20 47.20 -8.00000

Page 46: Abstrakt - ETH Z · Dazu werden als Grafikkarten ... Spiele bauen auf dieser Quake-Engine auf, was den Quake Benchmark im Vergleich zu anderen Spielebenchmarks, welche oft nur die

103.47 165.90 -62.43333

102.40 165.63 -63.23333

92.27 149.50 -57.23333

90.07 149.57 -59.50000

63.40 104.83 -41.43333

60.10 104.80 -44.70000

Abbildung 9: Linux/Windows XP Übersicht

Windows 98-Linux

Windows 98 Linux Beobachtungen Mittelwert Standardabweichung Lower 1% Upper 1%

86.1 124.4 -38.3 -14.9 15.9 -24.6 -5.3

86.1 114.2 -28.1

53.1 82.8 -29.7

53.1 74.2 -21.1 Betriebssysteme sind also mit 99% Sicherheit verschieden

26.0 35.3 -9.3

26.0 27.9 -1.9 Linux ist im Durchschnitt schneller

146.0 158.5 -12.5

145.7 153.4 -7.7 Vorsprung 14.9

96.3 148.7 -52.4

96.3 119.4 -23.1

47.2 77.0 -29.8

47.2 51.3 -4.1

165.9 159.7 6.2

165.6 160.4 5.2

149.5 157.2 -7.7

149.6 155.7 -6.1

104.8 112.0 -7.1

104.8 105.7 -0.9

Abbildung 10: Windows 98/Linux Übersicht

Windows 98-Windows XP

Windows 98 Windows XP Beobachtungen Mittelwert Standardabweichung Lower 1% Upper 1%

75.10 124.40 -49.30000 -42.44259 21.47531736 -55.48089 -29.40430

69.47 114.23 -44.76667

57.60 82.80 -25.20000

52.00 74.20 -22.20000 Betriebssysteme sind also mit 99% Sicherheit verschieden

30.10 35.30 -5.20000

24.07 27.90 -3.83333 Windows XP ist im Durchschnitt schneller

98.87 158.50 -59.63333

87.20 153.40 -66.20000 Vorsprung 42.4

84.47 148.67 -64.20000

70.10 119.43 -49.33333

54.00 77.00 -23.00000

39.20 51.30 -12.10000

103.47 159.70 -56.23333

102.40 160.40 -58.00000

92.27 157.20 -64.93333

Page 47: Abstrakt - ETH Z · Dazu werden als Grafikkarten ... Spiele bauen auf dieser Quake-Engine auf, was den Quake Benchmark im Vergleich zu anderen Spielebenchmarks, welche oft nur die

90.07 155.70 -65.63333

63.40 111.97 -48.56667

60.10 105.73 -45.63333

Abbildung 11: Windows 98/Windows XP Übersicht

Performance Beiträge von Betriebssystem und Grafikkarte

Alle Messungen der Performance Beiträge von Betriebssystem und Grafikkarte wurden mit Linuxund Windows XP als Betriebssysteme auf den Karten GeForce 256 und GeForce 3 durchgeführt.Als Prozessor/Mainboard-Komponente kam die Kombination aus PC3 zum Einsatz.

I OS GPU OS/GPU

0 1 -1 -1 1

1 1 1 -1 -1

2 1 -1 1 -1

3 1 1 1 1

Total 526.367 22.900 125.700 -33.367

q[i] 131.592 5.725 31.425 -8.342

SS[i] 207796.401 393.308 11850.368 835.001

SSE 0.053

SSY 220875.130

SST 13078.729

SS[i]/SST (%) Variation (%) 3.0 90.6 6.4

Tabelle 27: Performance Beiträge bei 800x600, 32 bit auf PC3

I OS GPU OS/GPU

0 1 -1 -1 1

1 1 1 -1 -1

2 1 -1 1 -1

3 1 1 1 1

Total 343.033 44.233 88.433 2.033

q[i] 85.758 11.058 22.108 0.508

SS[i] 88253.901 1467.441 5865.341 3.101

SSE 0.007

SSY 95589.790

SST 7335.889

SS[i]/SST (%) Variation (%) 20.0 80.0 0.0

Tabelle 28: Performance Beiträge bei 1024x768, 32 bit auf PC3

I OS GPU OS/GPU

0 1 -1 -1 1

1 1 1 -1 -1

2 1 -1 1 -1

3 1 1 1 1

Page 48: Abstrakt - ETH Z · Dazu werden als Grafikkarten ... Spiele bauen auf dieser Quake-Engine auf, was den Quake Benchmark im Vergleich zu anderen Spielebenchmarks, welche oft nur die

Total 264.400 2.867 156.667 -1.000

q[i] 66.100 0.717 39.167 -0.250

SS[i] 52430.520 6.163 18408.333 0.750

SSE 0.033

SSY 70845.800

SST 18415.280

SS[i]/SST (%) Variation (%) 0.0 100.0 0.0

Tabelle 29: Performance Beiträge bei 1600x1200, 32 bit auf PC3

Performance Beiträge von Prozessor/Mainboard und Grafikkarte

Alle Messungen der Performancebeiträge von Prozessor/Mainboard und Grafikkarte wurden unterWindows XP durchgeführt. Als Prozessoren kamen die mit 700 und 1400 Mhz getakteten Athlonszum Einsatz, während als Grafikkarten wieder die GeForce 256 und die GeForce 3 verwendetwurden. Die folgenden Tabellen zeigen einen Ausschnitt der Designs zur Bestimmung derprozentualen Performancebeiträge der verschiedenen Faktoren.

I CPU GPU CPU/GPU

0 1 -1 -1 1

1 1 1 -1 -1

2 1 -1 1 -1

3 1 1 1 1

Total 450.100 99.167 48.700 43.633

q[i] 112.525 24.792 12.175 10.908

SS[i] 151942.508 7375.521 1778.768 1427.901

SSE 0.033

SSY 162524.730

SST 10582.223

SS[i]/SST (%) Variation (%) 69.7 16.8 13.5

Tabelle 30: Performance Beiträge bei 800x600, 32 bit unter Windows XP

I CPU GPU CPU/GPU

0 1 -1 -1 1

1 1 1 -1 -1

2 1 -1 1 -1

3 1 1 1 1

Total 388.933 70.867 99.133 63.867

q[i] 97.233 17.717 24.783 15.967

SS[i] 113451.853 3766.563 7370.563 3059.213

SSE 0.027

SSY 127648.220

SST 14196.367

SS[i]/SST (%) Variation (%) 26.5 51.9 21.5

Tabelle 31: Performance Beiträge bei 1024x768, 32 bit unter Windows XP

Page 49: Abstrakt - ETH Z · Dazu werden als Grafikkarten ... Spiele bauen auf dieser Quake-Engine auf, was den Quake Benchmark im Vergleich zu anderen Spielebenchmarks, welche oft nur die

I CPU GPU CPU/GPU

0 1 -1 -1 1

1 1 1 -1 -1

2 1 -1 1 -1

3 1 1 1 1

Total 242.867 24.400 131.600 24.067

q[i] 60.717 6.100 32.900 6.017

SS[i] 44238.163 446.520 12988.920 434.403

SSE 0.013

SSY 58108.020

SST 13869.857

SS[i]/SST (%) Variation (%) 3.2 93.6 3.1

Tabelle 32: Performance Beiträge bei 1600x1200, 32 bit unter Windows XP

Linux Vortests

Für diese Tests wurde PC3 verwendet, der mit einer GeForce 1 ausgestattet ist. Antialiasing wurdeabgeschaltet, da dieser Faktor wegen der zu erwartenden hohen Leistungsschwankungen vonAnfang an in einem separaten Test untersucht worden ist.

y[0] y[1] y[2] y[3] y[4] e[0] e[1] e[2] e[3] e[4]

169.30 169.50 169.40 169.50 169.20 -0.08 0.12 0.02 0.12 -0.18

209.30 209.30 209.20 208.90 209.20 0.12 0.12 0.02 -0.28 0.02

56.80 56.70 56.70 56.80 56.70 0.06 -0.04 -0.04 0.06 -0.04

53.30 53.40 53.40 53.40 53.30 -0.06 0.04 0.04 0.04 -0.06

169.40 169.20 169.10 169.20 169.20 0.18 -0.02 -0.12 -0.02 -0.02

206.60 206.60 206.70 206.20 206.20 0.14 0.14 0.24 -0.26 -0.26

55.30 55.30 55.30 55.30 55.30 0.00 0.00 0.00 0.00 0.00

55.30 55.30 55.30 55.30 55.30 0.00 0.00 0.00 0.00 0.00

141.10 141.00 141.00 141.10 141.00 0.06 -0.04 -0.04 0.06 -0.04

169.10 169.00 169.10 168.90 169.00 0.08 -0.02 0.08 -0.12 -0.02

30.10 30.10 30.10 30.10 30.10 0.00 0.00 0.00 0.00 0.00

37.30 37.30 37.30 37.30 37.30 0.00 0.00 0.00 0.00 0.00

153.50 153.60 153.60 153.60 153.50 -0.06 0.04 0.04 0.04 -0.06

164.40 164.40 164.30 164.30 164.40 0.04 0.04 -0.06 -0.06 0.04

27.60 27.60 27.60 27.60 27.60 0.00 0.00 0.00 0.00 0.00

38.60 38.60 38.60 38.60 38.60 0.00 0.00 0.00 0.00 0.00

169.80 170.10 169.80 170.10 169.60 -0.08 0.22 -0.08 0.22 -0.28

195.90 196.00 196.10 196.30 196.30 -0.22 -0.12 -0.02 0.18 0.18

52.50 52.50 52.50 52.50 52.50 0.00 0.00 0.00 0.00 0.00

48.80 48.80 48.80 48.80 48.80 0.00 0.00 0.00 0.00 0.00

184.70 185.00 184.80 185.00 184.70 -0.14 0.16 -0.04 0.16 -0.14

160.30 160.60 160.50 160.50 160.30 -0.14 0.16 0.06 0.06 -0.14

Page 50: Abstrakt - ETH Z · Dazu werden als Grafikkarten ... Spiele bauen auf dieser Quake-Engine auf, was den Quake Benchmark im Vergleich zu anderen Spielebenchmarks, welche oft nur die

49.80 49.70 49.70 49.70 49.80 0.06 -0.04 -0.04 -0.04 0.06

53.60 53.50 53.60 53.60 53.60 0.02 -0.08 0.02 0.02 0.02

140.50 140.50 140.50 140.50 140.40 0.02 0.02 0.02 0.02 -0.08

135.10 134.50 134.50 134.60 134.60 0.44 -0.16 -0.16 -0.06 -0.06

28.20 28.20 28.20 28.20 28.20 0.00 0.00 0.00 0.00 0.00

38.70 38.70 38.70 38.70 38.70 0.00 0.00 0.00 0.00 0.00

120.40 120.30 120.20 120.30 120.30 0.10 0.00 -0.10 0.00 0.00

177.90 177.90 177.90 177.80 178.00 0.00 0.00 0.00 -0.10 0.10

30.80 30.80 30.80 30.80 30.80 0.00 0.00 0.00 0.00 0.00

34.20 34.20 34.20 34.20 34.20 0.00 0.00 0.00 0.00 0.00

Tabelle 33: Linux Vortests auf PC3 mit GeForce 1

Windows Vortests

Der Windows Vortest wurde analog zum Linux Vortest durchgeführt. Als Hardware kam jedochPC1 mit einer GeForce 2 zum Einsatz.

y[0] y[1] y[2] y[3] y[4] e[0] e[1] e[2] e[3] e[4]

59.30 59.30 59.20 59.30 59.30 0.02 0.02 -0.08 0.02 0.02

111.10 111.10 111.20 111.10 110.90 0.02 0.02 0.12 0.02 -0.18

56.20 56.20 56.20 56.20 56.20 0.00 0.00 0.00 0.00 0.00

84.40 84.40 84.40 84.40 84.40 0.00 0.00 0.00 0.00 0.00

59.30 59.30 59.30 59.30 59.30 0.00 0.00 0.00 0.00 0.00

109.30 109.30 109.30 109.30 109.30 0.00 0.00 0.00 0.00 0.00

38.10 38.10 38.10 38.10 38.10 0.00 0.00 0.00 0.00 0.00

56.50 56.50 56.50 56.50 56.50 0.00 0.00 0.00 0.00 0.00

59.30 59.30 59.30 59.30 59.30 0.00 0.00 0.00 0.00 0.00

95.50 95.60 95.60 95.50 95.40 -0.02 0.08 0.08 -0.02 -0.12

35.80 35.80 35.80 35.80 35.80 0.00 0.00 0.00 0.00 0.00

79.60 79.60 79.60 79.60 79.60 0.00 0.00 0.00 0.00 0.00

59.30 59.30 59.30 59.30 59.30 0.00 0.00 0.00 0.00 0.00

94.00 94.00 94.00 93.90 93.80 0.06 0.06 0.06 -0.04 -0.14

23.70 23.70 23.70 23.70 23.70 0.00 0.00 0.00 0.00 0.00

58.50 58.50 58.50 58.50 58.50 0.00 0.00 0.00 0.00 0.00

59.20 59.20 59.20 59.20 59.20 0.00 0.00 0.00 0.00 0.00

105.00 104.90 104.90 104.90 104.80 0.10 0.00 0.00 0.00 -0.10

49.90 50.00 50.00 50.00 50.00 -0.08 0.02 0.02 0.02 0.02

73.20 73.20 73.20 73.20 73.30 -0.02 -0.02 -0.02 -0.02 0.08

59.20 59.20 59.20 59.20 59.20 0.00 0.00 0.00 0.00 0.00

103.10 103.00 103.30 103.20 103.20 -0.06 -0.16 0.14 0.04 0.04

32.60 32.60 32.60 32.60 32.60 0.00 0.00 0.00 0.00 0.00

53.70 53.70 53.70 53.70 53.70 0.00 0.00 0.00 0.00 0.00

59.20 59.20 59.20 59.20 59.20 0.00 0.00 0.00 0.00 0.00

96.00 96.00 95.80 96.00 95.70 0.10 0.10 -0.10 0.10 -0.20

Page 51: Abstrakt - ETH Z · Dazu werden als Grafikkarten ... Spiele bauen auf dieser Quake-Engine auf, was den Quake Benchmark im Vergleich zu anderen Spielebenchmarks, welche oft nur die

31.30 31.30 31.30 31.30 31.30 0.00 0.00 0.00 0.00 0.00

78.20 78.30 78.30 78.20 78.20 -0.04 0.06 0.06 -0.04 -0.04

58.90 58.90 58.90 58.90 58.90 0.00 0.00 0.00 0.00 0.00

102.00 102.00 102.00 101.90 102.10 0.00 0.00 0.00 -0.10 0.10

23.00 23.10 23.00 23.00 23.00 -0.02 0.08 -0.02 -0.02 -0.02

44.80 44.80 44.80 44.80 44.80 0.00 0.00 0.00 0.00 0.00

Tabelle 34: Windows Vortests auf PC1 mit GeForce 2

s[e]: 0.05031153

s[qi]: 0.00397748

Confidence Radius: 0.01038121

Tabelle 35: Konfidenz Analyse der Windows Vortests

Page 52: Abstrakt - ETH Z · Dazu werden als Grafikkarten ... Spiele bauen auf dieser Quake-Engine auf, was den Quake Benchmark im Vergleich zu anderen Spielebenchmarks, welche oft nur die

Inhaltsverzeichnis

Abstrakt ............................................................................................................................................ 1Einleitung ......................................................................................................................................... 1

Problemstellung ............................................................................................................................ 2Ziele.............................................................................................................................................. 3

Der Quake Benchmark und die Medien............................................................................................ 3Auswahl der Systemparameter und Testfaktoren.......................................................................... 4Vertrauenswürdigkeit der Daten ................................................................................................... 5

Testumgebung .................................................................................................................................. 5Testebenen.................................................................................................................................... 5Hardware-Ebene ........................................................................................................................... 5

Prozessor und Mainboard.......................................................................................................... 5Arbeitsspeicher ......................................................................................................................... 6Festplatte................................................................................................................................... 7Grafikkarten.............................................................................................................................. 7

Betriebssystem-Ebene................................................................................................................... 9Betriebssystem.......................................................................................................................... 9Windows 98.............................................................................................................................. 9Windows XP............................................................................................................................. 9SuSE Linux 7.2......................................................................................................................... 9Grafiktreiber ........................................................................................................................... 10Antialiasing............................................................................................................................. 10

Software-Ebene .......................................................................................................................... 10Vorgehen ........................................................................................................................................ 11

Vortests....................................................................................................................................... 11Haupttests ................................................................................................................................... 12

Vortests........................................................................................................................................... 12Testaufbau .................................................................................................................................. 12

Experimental Design............................................................................................................... 13Windows Vortest ........................................................................................................................ 13

Beurteilung der Resultate des Windows Vortests ................................................................... 13Die wichtigsten Resultate des Windows Vortests ................................................................... 14Interpretation der Resultate des Windows Vortests................................................................. 15

Linux Vortest.............................................................................................................................. 16Beurteilung der Resultate des Linux Vortests ......................................................................... 16Die wichtigsten Resultate des Linux Vortest .......................................................................... 16Interpretation der Resultate des Linux Vortests ...................................................................... 16

Schlussfolgerungen aus den Vortests.......................................................................................... 17Haupttests ....................................................................................................................................... 17

Testaufbau .................................................................................................................................. 17Betriebsystem-Grafikkarte.......................................................................................................... 18

Aufbau .................................................................................................................................... 18Beurteilung der Resultate........................................................................................................ 19Grafische Zusammenfassung .................................................................................................. 19Interpretation der Ergebnisse .................................................................................................. 20

Prozessor/Mainboard-Grafikkarte............................................................................................... 20Aufbau .................................................................................................................................... 20Beurteilung der Resultate........................................................................................................ 21Grafische Zusammenfassung .................................................................................................. 21

Page 53: Abstrakt - ETH Z · Dazu werden als Grafikkarten ... Spiele bauen auf dieser Quake-Engine auf, was den Quake Benchmark im Vergleich zu anderen Spielebenchmarks, welche oft nur die

Interpretation der Ergebnisse .................................................................................................. 22Antialiasing-Grafikkarte ............................................................................................................. 23

Aufbau .................................................................................................................................... 23Beurteilung der Resultate........................................................................................................ 23Grafische Zusammenfassung .................................................................................................. 24Interpretation der Ergebnisse .................................................................................................. 25

Visuelle Tests ................................................................................................................................. 26Quake Grafikengine Optionen .................................................................................................... 26

Color Depth ............................................................................................................................ 26Lighting .................................................................................................................................. 27Geometry ................................................................................................................................ 28Texture Detail ......................................................................................................................... 29Texture Filter .......................................................................................................................... 29Compress Textures ................................................................................................................. 31Dynamic Light ........................................................................................................................ 32Full-Screen Antialiasing (FSAA)............................................................................................ 32

Zusammenfassung der Ergebnisse .................................................................................................. 35Low-End Grafik Systeme ........................................................................................................... 35Mid-Range Grafik Systeme ........................................................................................................ 37High-End Grafik Systeme........................................................................................................... 39

Appendix ........................................................................................................................................ 41Messresultate .............................................................................................................................. 41

Betriebssystem-Grafikkarte .................................................................................................... 41Prozessor/Mainboard-Grafikkarte........................................................................................... 43Antialiasing-Grafikkarte ......................................................................................................... 44Linux-Windows XP ................................................................................................................ 45Windows 98-Linux ................................................................................................................. 46Windows 98-Windows XP...................................................................................................... 46Performance Beiträge von Betriebssystem und Grafikkarte.................................................... 47Performance Beiträge von Prozessor/Mainboard und Grafikkarte .......................................... 48Linux Vortests ........................................................................................................................ 49Windows Vortests................................................................................................................... 50

Inhaltsverzeichnis ....................................................................................................................... 52Glossar........................................................................................................................................ 54

Antialiasing............................................................................................................................. 54Bilineares Filtern .................................................................................................................... 54Ego-Shooter ............................................................................................................................ 54Framerate ................................................................................................................................ 54Level ....................................................................................................................................... 54Lightmap................................................................................................................................. 54Map......................................................................................................................................... 54Mip-Mapping.......................................................................................................................... 55Pixel Shader............................................................................................................................ 55Quincunx Antialiasing ............................................................................................................ 55Textur ..................................................................................................................................... 55Trilineares Filtern ................................................................................................................... 55T&L........................................................................................................................................ 55Vertex Lighting....................................................................................................................... 55Vertex Shader ......................................................................................................................... 553D-Engine............................................................................................................................... 56

Page 54: Abstrakt - ETH Z · Dazu werden als Grafikkarten ... Spiele bauen auf dieser Quake-Engine auf, was den Quake Benchmark im Vergleich zu anderen Spielebenchmarks, welche oft nur die

Glossar

Antialiasing

Auch Oversampling genannt, ist Antialiasing eine Technik, um die störenden Treppenstufen beidiagonalen Linien zu eliminieren. Dies wird durch Interpolation der umgebenden Pixel mitFarbzwischenwerten erreicht. Zwar sind danach störende Zacken und Stufen verschwunden, jedochauf Kosten der Bildschärfe. →Quincunx Antialiasing.

Bilineares Filtern

Meistgenutzte Art des Texture-Mapping. Zur Berechnung eines Texels werden die 4 Nachbarnbetrachtet und deren Farb-, Helligkeit- und Reflexionsmittelwert genommen, um dem Patchwork-Effekt vorzubeugen. Meistens wird diese Technik im Zusammenhang mit →Mip-Mappinggebraucht.

Ego-Shooter

Action Videospiel, das aus der Sicht der Ich-Perspektive gespielt wird. Die Kamera der →3D-Engine simuliert dabei das Gesichtsfeld des Spielers.

Framerate

Anzahl Bilder pro Sekunde oder auch die Rate, mit der die Grafikkarte das Monitorbild imVideospeicher neu zeichnen kann. Allgemein als Metrik zur Leistungsmessung imVideospielbereich akzeptiert.

Level

Schwierigkeitsstufe eines Videospiels, oft gleichwertig gebraucht mit →Map. Benutzer kannmeistens angeben, wie stark er gefordert werden möchte. Der Level beeinflusst u.a die Anzahl derkünstlichen Gegner, ihre Intelligenz und z.T. auch die Physik. Diese Faktoren beeinflussen die freieKapazität der CPU wesentlich.

Lightmap

Transparente Textur, die über eine normale Detailtextur drübergelegt wird, um Lichteffekte zuerzeugen. Lightmaps brauchen sehr viel Speicher, können aber effizient in Hardwareübereinandergelegt und in den Framebuffer kopiert werden.

Map

Abgeschlossene Spielwelt und Spieleinheit. Der Spieler betritt die Map, kann sich auf mehr oderweniger freie Weise bewegen, erledigt seine Mission und verlässt die Map an einem definiertenOrt. Meistens sind Maps gleichbedeutend mit →Level.

Page 55: Abstrakt - ETH Z · Dazu werden als Grafikkarten ... Spiele bauen auf dieser Quake-Engine auf, was den Quake Benchmark im Vergleich zu anderen Spielebenchmarks, welche oft nur die

Mip-Mapping

Filtertechnik, bei der anstatt nur einer Textur mehrere Varianten mit verschiedenen Detailgradengenutzt werden. Je nach Distanz des Dreiecks zur Kamera werden mehr oder weniger auflösendeTexturen verwendet, um bei ausgedehnten Landschaftsmodellen die Textureinheiten desGrafikchips nicht zu stark zu belasten.

Pixel Shader

Grafikfunktion, die Effekte auf Pixelbasis berechnet. Abhängig von der Auflösung ist das Rendern,Beleuchten und Schattieren von über 2 Mio. Pixel eine sehr aufwändige Berechnung. Pixel Shadersermöglichen nun als kleine Assemblerprogramme die freie Programmierung der Pixel-Engine, diedadurch Effekte wie Haare, Holz usw. in Subdreiecksgrösse ermöglichen. →Vertex Shader.

Quincunx Antialiasing

Patentierter Antialiasing Algorithmus, der auf der GeForce 3 in Hardware ausgeführt werden kann,im Gegensatz zu älteren GPUs. Quincunx Antialiasing soll die Qualität von 4-fach Antialiasing mitder Performance von 2-fach Antialiasing verbinden.

Textur

Digitale Repräsentation der Oberfläche eines Objekts. Neben zweidimensionalen Massen wie Farbeund Helligkeit besitzt eine Textur auch Transparenz- und Reflexionswerte.

Trilineares Filtern

Zusätzlich zum Bilinearen Filtern mittelt das Trilineare Filtern auch noch zwischen verschiedenenMip-Maps, um Übergänge zwischen zwei unterschiedlich hoch auflösenden Texturen zu glätten.→Mip-Mapping.

T&L

Transformation and Lighting. Hardwaremässige Unterstützung der Berechnung von 3DKoordinatentransformationen und Raytracing durch den Grafikchip. Diese Berechnungen könnendurch Spezialhardware ungleich schneller ausgeführt werden als durch die CPU selbst, welchedann freie Kapazität für die Physik-Engine oder künstliche Intelligenz bekommt.

Vertex Lighting

Vertex Lighting, auch Gouraud Shading genannt, benützt keine Texturen, sondern berechnet fürjeden Vertex des 3D Modells aus Textur, Reflexion und Lichtfarbe den endgültigen Pixel. DiesesVerfahren funktioniert nur bei High Polygon Count und ist dementsprechend auch sehrrechenintensiv.

Vertex Shader

Grafikfunktion, die mathematische Operationen auf den Knotendaten eines 3D Modells anwendet.Ein Knoten hat typischerweise Koordinaten, Farbe, Textur, Helligkeit, Transparenz undReflexionswerte. Vertex Shaders definieren eine Funktion als kleines Assemblerprogramm, die zur

Page 56: Abstrakt - ETH Z · Dazu werden als Grafikkarten ... Spiele bauen auf dieser Quake-Engine auf, was den Quake Benchmark im Vergleich zu anderen Spielebenchmarks, welche oft nur die

Laufzeit mögliche Effekte berechnen. Dank Hardwareunterstützung sind heute realistische Nebelund Gesichtsanimationen wie Falten in Echtzeit berechenbar geworden. →Pixel Shader.

3D-Engine

Programmcode, der ein 3D Modell auf die 2-dimensionale Fläche des Bildschirms abbildet. Darinsind alle Komponenten zum Laden von 3D Modellen, Texturen und Daten beinhaltet.

Page 57: Abstrakt - ETH Z · Dazu werden als Grafikkarten ... Spiele bauen auf dieser Quake-Engine auf, was den Quake Benchmark im Vergleich zu anderen Spielebenchmarks, welche oft nur die

Literatur

[PS] nFiniteFX Engine, Pixel-Shaders, http://www.nvidia.com/docs/Io/68/SUPP/pixelshaders.pdf

[TFP] TRUFORM, Higher Order Surfaces,http://www.ati.com/na/pages/technology/hardware/truform/truform_white_paper.html

[TAL] T&L, Transformation and Lighting,http://www.nvidia.com/docs/Io/37/SUPP/Transform_and_Lighting.pdf

[UDA] UDA, Unified Driver Architecture, www.nvidia.com/view.asp?IO=feature_uda

[VS] nFiniteFX Engine, Vertex-Shaders,http://www.nvidia.com/docs/Io/67/SUPP/vertexshaders.pdf