RST Laborbericht_final - Weblearn

Transcription

RST Laborbericht_final - Weblearn
Hochschule Bremen
Rechnerstrukturen Labor
WS 04/05
I7I
Thema:
Grafikkarten
Laborbericht
Datum
18.01.2005
Carsten Eckert(83912)
Arne Ehrhardt (72497)
RST-Labor
Graphikkarten Laborbericht
WS 04/05
Fazit
Für unseren Praxisteil zum Vortrag Grafikkarten haben wir uns entschieden, dass die
Software 3DMark3003, mit ihren vergleichbaren Tests für die GPU und die CPU, einen guten
Leistungsvergleich demonstrieren kann. Da der Spiele Test aber auf maximale 3DPerformance ausgelegt ist und somit nicht nur die Grafikkarte beansprucht, sonder im
erheblichen Maße auch die CPU, ist aber keinen direkten vergleich von CPU und GPU
möglich.
Mit der 3D Visualisierungs- und Animationssoftware Maya haben wir die Möglichkeit, einen
etwas besseren Vergleich zu ziehen. Die Option eine Grafik wahlweise auf der CPU oder auf
der GPU zu berechnen, hat bei annährend gleichen Berechnungsergebnisse eine deutliche
Zeitdifferenz zwischen den Prozessoren gezeigt.
Uns ist somit ein (recht subjektiver) Vergleich der CPU und GPU gelungen, leider sind die
Ergebnisse nicht mit Zahlen zu beziffern, sondern sie geben eher einen Eindruck über die
vorhandenen Leistungsunterschiede.
Inhaltsverzeichnis
Fazit ............................................................................................................................................ 2
1
Einleitung ........................................................................................................................... 3
2
Verwendete Software ......................................................................................................... 3
2.1
3DMark2003............................................................................................................... 3
2.2
Maya 6 ........................................................................................................................ 4
2.3
NVPerfHud ................................................................................................................. 4
2.4
CG Tools .................................................................................................................... 4
3
Versuchsdurchführung ....................................................................................................... 5
3.1
3DMark2003............................................................................................................... 5
3.2
Maya 6 ........................................................................................................................ 6
4
Quellen ............................................................................................................................... 7
Arne Ehrhardt
Carsten Eckert
-2-
RST-Labor
Graphikkarten Laborbericht
WS 04/05
1 Einleitung
Im Labor Rechnerstrukturen haben wir Grafikkarten vorgestellt. Hierbei ging es um eine
allgemeine Einführung in diese Thematik. Im Verlauf eines Vortrags wurde neben dem
grundlegenden Aufbau älteren Modellen auch der prinzipielle Aufbau einer moderner
Grafikkarten beschrieben. Um nun die Leistungsfähigkeit eines Grafik Prozessors zu zeigen,
wurde die Rechenleistung mit einer modern Desktop CPU verglichen.
Die Schwierigkeit bestand und darin, gleichwertige Berechnungen einmal auf der GPU und
einmal auf der CPU auszuführen. Um diese gleichwertigen Berechnungen zu gewährleisten,
wurden diverse Softwarepakete aus dem Internet runter geladen und anschließend auf ihre
Tauglichkeit geprüft.
2 Verwendete Software
Um die Lastverteilung zwischen CPU und GPU veranschaulichen zu können, wurden mehrere
Programme auf deren Brauchbarkeit getestet. So lag das Hauptaugenmerk zuerst auf einem
3D Emulator für die CPU. Durch eine vergleichbare 3D Berechnung auf der Grafikkarte sollte
der Unterschied deutlich gemacht werden.
Ein weiterer Ansatz bestand darin, an Treibereinstellungen den Unterschied deutlich zu
machen. Hierbei sollte das Abschalten verschiedener Hardwarebeschleunigungen ein
auslagern / emulieren dieser Berechnungen auf die CPU erreichen. Leider waren hier keine
ausreichenden Einstellmöglichkeiten geboten. So wurde bei der Deaktivierung einiger Effekte
die CPU nicht mehr belastet. Dies zeigt, das s die Einstellungen lediglich die Grafikkarte
betreffen, und die Treiber diese Effekte nicht auf der CPU emulieren.
Die im Laufe dieses Labors verwendeten Programme werden nun kurz vorgestellt. Hierbei ist
auffällig, dass die verwendeten Programme hauptsächlich von der Firma NVidia stammen.
Dies liegt daran, dass es sich bei der im Tastrechner befindlic hen Grafikkarte um eine
GeForce Karte der Firma NVidia handelt. Bei einer ATI Grafikkarte sind dann die
entsprechenden ATI Entwicklungshilfsmittel zu verwenden.
2.1 3DMark2003
3DMark ist ein weit verbreitetes 3D Benchmark Tool von der Firma Futuremarks. Diese Tool
bietet eine Vielzahl von verschieden Testmöglichkeiten, denen man die Grafikkarte wie auch
die CPU unterziehen kann, darunter 4 Spiele Tests mit denen primär die Grafikkarte getestet
wird, allerdings ist der Test so konzipiert, dass er die bestmö gliche 3D Performance, unter
Verwendung allen verfügbaren Ressourcen aus dem gesamt Rechner herauszuholt. Als
Schnittstelle zur Grafikkarte dient hier Microsofts DirectX 9. Neben verschiedenen Textur- ,
Shader- und Soundtestes kann man hier auch spezielle Testes auf der CPU ausführen.
Für unseren Versuch war von besonderem Vorteil, daß der erste Spiele Test von der 3D
Anforderung vergleichbar mit den ersten CPU Test ist und so die Leistungsunterschiede
zwischen CPU und GPU darzustellen sind.
[3DMark2003]
Arne Ehrhardt
Carsten Eckert
-3-
RST-Labor
Graphikkarten Laborbericht
WS 04/05
2.2 Maya 6
Die Software Maya aus dem Hause Alias ist eine der führenden 3D Visualisierungs- und
Animationssoftware. Diese Software findet ihre Haupt Einsatzgebiete in der Film- und
Fernsehindustrie sowie bei der Erstellung von Grafiken für Computer – und Videospiele.
Wir haben uns mit dies er Software auseinander gesetzt, weil sie die Möglichkeit bietet,
identische Berechnungen auf wahlweise auf der CPU oder auf der GPU auszuführen.
Maya kann hierzu Objekte und Animationen auf verschiedene Arten rendern. Interessant
ist dabei das Hardware Rendering von Maya: es b indet die 3D Grafikkarte in den
Renderringprozess mit ein, hierbei wird das Bild nicht der CPU berechnet, sondern mit der
GPU. Dies bietet enorme Geschwindigkeitsvorteile, ist aber teilweise nicht so qualitativ
hochwertig wie der Software Renderer, der die CPU nutzt.
[MAYA 6]
2.3 NVPerfHud
NVPerHud (Version 2.0) ist ein Testprogramm von NVidia, welches einem Entwickler die
Möglichkeit bietet 3D Anwendungen auf Engpässe zu prüfen. Dieses Programm lässt sich auf
zwei Arten mit einer 3D Anwendung verknüpfen. Zum Einen kann der Programmierer
NVPerfHud mit Hilfe eines direkten Aufrufs in dem Quellcode starten, oder zum Anderen
kann man mit Hilfen von Drag- and- Drop auch andere Anwendungen mit diesem Progra mm
überprüfen. Leider läuft NVPerfHud nur unter aktuellen DirectX 9 Anwendungen. So viel es
schwer, ein geeignetes Programm zur Visualisierung zu finden. Wenn das Programm gestartet
wurde, gibt es über verschiedene Grafen in Echtzeit Aufschluss über eventuelle Engpässe bei
der Abarbeitung der 3D Anwendung So zeigt es die Zeiten, die von CPU, GPU und Treiber
verbraucht werden, an. Ein weiterer Balkengraph gibt Aufschluss über die derzeitige Auslastung
des Grafikkartenspeichers. Mit Hilfe dieser Informationen und einiger Hinweise von NVidia
sollen so 3D Programmierer Flaschenhälse in ihren Anwendungen erkennen und beheben
können. Leider ließ sich trotz aktueller DirectX 9 Installation nur ein Spiel mit diesem
Programm analysieren.
[NVPERF]
2.4 CG Tools
Das von NVidia entwickelte CG Toolkit ist ein Softwarepaket zur Programmierung von 3D
Anwendungen. Hier lag unser Hauptaugenmerk auf dem CG Browser, der es ermöglicht,
sämtliche Effekte in Beispielapplikationen anzuschauen. Weiterhin gibt er Auskunft über die
Schnitt stellen (DirektX oder OpenGL) und deren Versionsnummer. Man kann zwar in einem
Menu Renederingeinheit von Hardware auf Software schalten, leider war hier allerdings keine
Veränderung bei der CPU Auslastung (Taskmanager) sichtbar. Auch das eben beschriebene
NVPerfHud konnte hier nicht mehr Aufschluss bieten, da es nicht mit dem CG Browser
zusammen arbeitet. Weiterhin waren auch nur sehr wenig DirektX 9 Effekte verfügbar. Auch
die Updatemöglichkeiten boten hier keine Hilfe.
[CGTOOLS]
Arne Ehrhardt
Carsten Eckert
-4-
RST-Labor
Graphikkarten Laborbericht
WS 04/05
3 Versuchsdurchführung
Da sich die Auswahl an geeigneter Software zur Veranschaulichung der Lastenverteilung von
CPU und GPU nicht besonders groß ist, wurden 3DMark2003 und Maya 6 verwendet. Es
wurden noch weitere Benchmarks und Renderer ausprobiert, die allerdings keine bessere
Veranschaulichung bieten konnten. So bot zum Beispiel der 3DMark05 keine Möglichkeit, die
selbe Szene einmal auf der CPU und einmal auf der GPU zu berechnen.
3.1 3DMark2003
Mit Hilfe dieses Programms wurde der Qualitätsunterschied bei der 3D Verarbeitung
zw ischen CPU und GPU veranschaulicht. Dieses Programm bietet die Möglichkeit, die gleiche
Sequenz (Wings of Fury) sowohl von den Gesamtsystem als auch nur von CPU berechnen zu
lassen. Hierbei fiel vor allem auf, dass die Qualität der Bilder bei der zur Hilfenahme der
GPU ein wesentlich besseres Ergebnis zu erzielen ist. Es sind bei der CPU Berechnung
starke Treppenbildung zu erkennen. Weiterhin kommt die CPU bei vielen Polygonen, nur
noch knapp über die erträglichen 25 Bilder pro Sekunde. Bei der Unterstützung durch die
Grafikkarte sind hier klar bessere Ergebnisse erzielt worden: so lag hier die minimale Bildrate
bei 75. Leider geben der Benchmark und seine Dokumentation keine weiteren Informationen
über die genaue Anzahl der berechneten Polygone oder Texturen.
Bildausschnitt von „Wings of Fury“
CPU Test
Gesamtsystem Test
Hauptmenue
Testauswahlmenu
Arne Ehrhardt
Carsten Eckert
-5-
.
RST-Labor
Graphikkarten Laborbericht
WS 04/05
3.2 Maya 6
Das Programm Maya 6 wurde dazu verwendet, den Geschwindigkeitsvorteil der Grafikkarte
während der Renderns eines Bildes zu zeigen. Hierfür wurde ein 3D Bild in Maya modelliert.
Diese besteht ein einer Ansammlung von Reifen, die mit einer einfachen Farbe überzogen
sind. Hierbei war darauf zu achten, dass keine Effekte verwendet werden, die von der
Grafikkarte nicht unterstützt werden. Da das Maya Programm zur Erstellung von 3D
Sequenzen in der Filmindustrie verwendet wird, sind hier alle Möglichen Effekte nur per
Software zu erzeugen. Dennoch ist bei einem einfachen Beispiel klar erkennbar, dass die GPU
bei den unterstützten Berechnungen zeitlich klar im Vorteil liegt.
Maya Testmodel
Arne Ehrhardt
Carsten Eckert
-6-
RST-Labor
Graphikkarten Laborbericht
WS 04/05
4 Quellen
[3DMark2003]
http://www.futuremark.com/download/?3dmark03.shtml
[MAYA 6]
http://www.alias.com/eng/community/downloads/bonus_tools/index.jhtml
http://www.computerbase.de/lexikon/Maya_(Software)
[NVPERF]
http://developer.nvidia.com/object/nvperfhud_home.html
[CGTOOLS]
http://developer.nvidia.com/object/cg_toolkit.html
Arne Ehrhardt
Carsten Eckert
-7-