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-