Gymnasium Laurentianum
[
Referat: Grafikkarten
]
3D Power bis zum Anschlagvon David Fekete
Die Geschichte der GrafikkarteNach einem Artikel von Volker Schauff in 3D Center.de
Monochrom-GrafikkartenEs hat alles mit den monochromen MGA-Karten begonnen, die in alten IBM-PCs eingebaut waren. Diese Karten waren nur in der Lage Text darstellen. Die bekannteste Weiterentwicklung waren die HGC-Adapter der Firma Hercules. Neben der Textdarstellung wurde noch ein Grafikmodus mit einer Auflösung von 720x348 Pixeln beherrscht. Dabei wurden 2 Farben, "An" und "Aus" beherrscht. "Aus" ist schwarz, "An" je nach Monitor gr&ueml;n, bernstein (Amber) oder bei Luxusmodellen papierweiß. Dieser Standard wurde schnell wieder vergessen als die nächste Generation aufkam, Emulationen für den Hercules-Modus hatten spätere Grafikkarten immer seltener. Die erste Farbgeneration: CGACGA steht für Color Graphics Adapter. Die Karte beherrschte einen 4-Farben
Modus (mit 4 Paletten) mit 320x200 Pixeln oder den 2-Farben Modus
(Schwarz-Weiß) bei 640x350 Pixeln. Einige CGA-Karten waren ebenfalls noch
kompatibel zum Hercules Mochchrom-Modus.
Weiterentwicklung: EGADer Enhanced Graphics Adapter beherrschte bereits 16 Farben mit
320x200 oder bei 640x350 Pixeln. Die Karte war voll abwärtskompatibel zum
CGA-Standard. Eine Unterstützung oder Emulation für den Hercules-Modus wurde
immer seltener bis sie gar nicht mehr vorhanden war. EGA-Karten benutzten zum ersten mal ein
eigenes Grafikkarten-BIOS. Die Vorgänger-Generationen wurden noch vom BIOS des PCs
gesteuert. Richtig bunt: VGA und MCGADie Ur-VGA Karte (VGA = Video Graphics Array) und die technisch 100%
kompatible MCGA (Multi Color Graphics Array) waren, wie die EGA-Karten mit
64 KB RAM bestückt. Bei einer Auflösung von 320x200 Pixeln konnte eine Farbtiefe
von 256 definierbaren Farben aus einer Palette von ungefähr 250000 Farben
dargestellt werden. Hochauflösend: S-VGADie Super-VGA Karten sind erweiterte VGA-Karten mit mehr RAM (256 KB). Es wurden auch Auflösung von bis zu 800x600 Pixeln unterstützt. Die Anzeige von 256 Farben, rückte auf 640x480 hoch. VGA und alle Nachfolger sind EGA und CGA kompatibel. Noch besser: X-VGAE(x)tended-VGA Karten hatten 512 KB RAM oder noch mehr. Die X-VGA Auflösung
ist 1024x768, aber auch die Karten älterer Generation kamen teilweise schon über
1024x768. Neben dem 256 Farben Modus wurde auch der High Color Modus
mit 16 Bit (64000 Farben, palettenlos, teilweise auch mit 15 Bit
und nur 32000 Farben) und der True Color Modus mit 24 Bit und somit 16 Mio.
Farben eingeführt. Schneller: Windows-Beschleuniger (1)Bis dahin besaßen Grafikkarten keinerlei Intelligenz, sie waren gewissermaßen alle "dumm".
Der Begriff nannte sich Frame-Buffer, die Karten taten nichts anderes, als einfach nur stur
vorberechnete Pixeldaten entgegenzunehmen. Windows-Beschleuniger konnten aber
auch Befehle abarbeiten wie "Viereck malen" etc.
Aufgrund der immer höheren nötigen Bandbreiten wurden neue Bus-Systeme vorgestellt: VESA erfand den Vesa Local Bus, VLB. Dieser war anfangs schneller als der parallel von Intel vorgestellte PCI. Ähnlich wie PCI konnte auch VLB nicht nur Grafikkarten aufnehmen, sondern auch andere Geräte, bei denen es auf Geschwindigkeit ankam, wie Festplattencontroller (IDE oder SCSI). Das Problem von VLB war die direkte Anbindung an den Frontside-Bus der CPU. Lief der Bus bei einem 486DX2-50 (2*25MHz) noch mit 25MHz und somit elendig lahm im Vergleich zu PCI, lief er mit einem 486DX-50 gleich mit 50MHz. Das war zwar definiert (zumindest im Vesa 2.0, den Vesa 1 Karten wurde es da schon mal etwas warm), war aber damals zu schnell, um zuverlässig zu sein (aber PCI sah dagegen alt aus). Schneller: Windows-Beschleuniger (2)Die besten Karten aus dieser Zeit stammten von Video7 (schnell, zuverlässig,
guter Service), Diamond (noch schneller weil gnadenlos übertaktet, aber nicht
zu zuverlässig) und Elsa (ebenfalls sehr ausgewogen). Was für Spieler: 3D-BeschleunigerEs begab sich, dass sich eine kleine Chipschmiede, eine Tochtergesellschaft von SGS Thomson (bekannt durch die CPUs der Tochterfirma Cyrix), namens nVidia den ersten 3D-Chip auf den Markt brachte. Der NV1 war wahrlich die "eierlegende Wollmilchsau" unter den Chips. Eine PCI-Karte mit dem NV1 wie die Diamond Edge 3D beherbergte neben einem VGA-Modul mit Windows- und 3D-Beschleunigung noch einen TV Ein- und Ausgang und eine Soundkarte, komplett mit Wavetable. Die Karte konnte sich dennoch nicht durchsetzen, da die Technik nicht richtig funkionierte und zweitens die Programmierer mit der Art der 3D-Beschleunigung des NV1, "Curved Surfaces", damals nicht viel anfangen konnten. Jetzt richtig: 3D-Beschleuniger, die ZweiteAber nicht als Grafikkarte - sondern als Addon.
Das waren die legendären Voodoo-Chips von 3dfx. Man steckte sie als Zusatzkarte
hinzu (bekanntestes Beispiel die Diamond Monster, bester Vertreter dieser Karte
die Miro Hiscore mit TV-Out sowie gleich 6 statt 4MB). Diese rechnete dann
3D-Grafiken aus, und zwar so, dass die Programmierer da auch was mit anfangen
konnten - also auf Polygon-Basis.
Der Rest ist mittlerweile auch schon wieder Geschichte... Untergänge und Comebacks von LegendenS3: Der ehemalige 2D-Leader wurde im Laufe der Zeit nach unten
durchgereicht und endete im Besitz von Diamond in Kooperation mit VIA unter dem
neuen Namen SonicBlue. Nach erfolglosen Versuchen an die 3D-Welle anzuknüpfen
(ViRGE kaum kompatibel und zu langsam, Savage3D mit Anzeigefehlern und Savage4
zu langsam) wurde S3 von Diamond übernommen. Hintergrund: Diamond wollte
ähnlich 3dfx/STB mit der Voodoo3 eine eigene Karte mit eigenem Chip im
Exklusivvertrieb auf den Markt bringen. Das Konzept war gut, der Chip nicht.
Der Savage2000 war voll von Bugs und trotz (oder eben wegen der extrem
fehlerhaften) T&L-Einheit furchtbar langsam. Das Anfang vom Ende von S3,
die jetzt in einem Joint Venture mit Chipsatz-Spezialisten VIA unter dem neuen
Namen SonicBlue an Chipsatz-integrierten Grafiklösungen für Low-Cost und Mobile
Rechner arbeiten. Und welche Firmen bewegen sich im Hintergrund?Ein paar ehemalige Silicon Graphics Mitarbeiter arbeiten unter dem
Firmennamen Bitboys an einem Chip, der ursprünglich Glaze3D heißen sollte.
Highend-Grafikkartenspezialist Evens&Sutherland hatte jedoch Rechte an
diesem Namen und erwirkte ein Verbot dieser Bezeichnung. Aufgrund von Problemen
mit der Fertigung wurde die Herstellung des Chips immer wieder verzögert, der
technische Stand jedoch auf alles verfügbare angepasst. Somit stellt der -
derzeit namenlose - Chip, so er denn endlich kommen sollte, sicher eine starke
Alternative dar. Rückblick: Die wichtigsten Meilensteine in der Geschichte der Grafikkarte
Überblick einiger moderner 3D TechnikenFSAAFSAA, Fullscreen Anti-Aliasing (Vollbild Kantenglättung) ist eine von 3Dfx entwickelte Technik, um den "Treppen-Effekt" in 3D-Spielen auszubügeln und so glatte Kanten, selbst bei Auflösungen unter 1024x768 zu ermöglichen. Moderne Grafikkarten beherrschen bis zu 8xFSAA, wo bei das Bild achtmal gefiltert wird. Dies verbraucht aber sehr viel Rechenzeit. Daher werden meisten 1x-4xFSAA als Kompromiss aus Leistung und Geschwindigkeit verwendet. FSAA - Qualitätsunterschied zwischen FSAA und keinem FSAADieses Bild soll die Qualitätssteigerung durch Verwendung von FSAA deutlich
machen. Links ist der Bildausschnitt mit 9-fachem FSAA und rechts ohne FSAA. Ohne FSAA
(Bild rechts) sind besonders an dem grauen Waffenaufsatz deutlich "Treppeneffekte"
zu sehen, die mit FSAA (Bild links) kaum oder gar nicht zu sehen sind.
T-BufferT-Buffer, diese Technik wurde ebenfalls von 3Dfx entwickelt. Sie stellt realistisch einen Unschärfe-Effekte dar. Bump MappingBump Mapping Effekte sorgen dafür, dass Tiefen und Höhen Effekte in Texturen dargestellt werden ("Oberflächeneffekte"). In modernen Bump Mapping-Techniken sind auch Effekte wie Transparenz oder Glanz vorhanden Anisotrophischer FilterDer Anisotropische Filter, kurz AF, sorgt dafür, dass Kanten in der Entfernung ausgeglichen werden.Bei den meisten Grafikarten erfolgt dieser Prozess auf der Trilinearen Ebene, auf einigen (z.B. auf ATI Radeon 8500) auf Bi-Linearer Ebene.Die Trilineare ebene sieht besser aus, als die Bilineare, kostet aber mehr Leistung. Heutige Karten (wie nVidia GeForce 4 Ti oder ATI Radeon 9700 Pro) können AF bis zum vierfachen Level (mit Unterstützung einer starken CPU) in angemessener Geschwindigkeit berechnen, selbst wenn es mit FSAA komniniert wird. Jedoch gibt es selbst bei morderen Beschleunigern einen Framerateeinbruch, falls die Raten zu hochgestellt werden (z.B. 8xAF und 4xFSAA). Hierzu wäre die aktuelle Top-Hardware gefragt. Die meisten PCs wären mit so einer Einstellung überfordert. Tranform & LightningTransform and Lightning (kurz T&L), ist eine Technik, die es der Grafikkarte erlaubt Licht und Berechnungsoperationen durchzuführen, die sonst der Hauptprozessor durchführen müsste. So kann ohne Qualitätsverlust eine hohe bis sehr hohe Leistungsteigerung erzielt werden. Die benutzte Anwendung muss aber, im Gegensatz z.B. zu FSAA, T&L unterstützen. Multi-TexturingMulti-Texturing, früher wegen ungeheurer Geschwindigkeitsverluste nur in damaligen Top-3D-Spielen (wie Unreal) verwendet. Heute benutzt fast jedes 3D-Spiel Multi-Texturing. Bei Multi-Texturing werden einfach mehrere Texturen übereinandergelegt, was im Endeffekt sehr ansehnlich ist Curved SurfacesDie Technik Curved Surfaces dient dazu Rundungen realistisch darzustellen. Ohne Curved Surfaces sind z.B. Rundgänge eckig. Curved Surfaces wird übrigens in der Quake 3 Engine von id-software angewandt. Einige neue Spiele verzichten jedoch, wegen ohne hin schon hoher Polygonzahlen komplett auf Curved Surfaces (wie Unreal Tournament 2003 von Epic Games)
Pxiel ShaderDer Pixel Shader bietet nun ein allgemeineres Verfahren zur Berechnung der Schattierung und dies sogar auf Pixel-Ebene. Das Erscheinungsbild jedes einzelnen Pixels kann durch seine Ausrichtung gegenüber mehreren Lichtquellen bzw. zum Betrachter bestimmt werden. Da dies dynamisch bei jedem Frame neu berechnet wird, sind bewegte Lichtquellen, überlagerte Schatten und vor allem auch ganz neue Erscheinungsbilder der Objekte möglich. Der Programmierer ist nun nicht mehr davon abhängig, ob dieser oder jener Mechanismus direkt verfügbar ist er kann sich durch ein Shader-Programm sein eigenes Schattierungsverfahren schreiben. Vertex ShaderWährend die Entwickler mit "Software T&L" noch das ein oder andere Gimmick einbauen konnten, haben sie nun keinen Zugriff mehr auf die Geometriedaten, sobald diese in die Transformationsebene gelangen. Die von der Hardware angebotenen Zusatzfunktionen sind sehr eingeschränkt und - falls vorhanden - herstellerspezifisch auf OpenGL-Extensions beschränkt. Die DirectX-Beleuchtungsmuster stammen aus der alten OpenGL-Welt und sind daher wenig für den Einsatz in Spielen geeignet, da zu wenig für "unrealistische", aber dafür ansprechende Spezialeffekte ausgelegt. Der Vertex Shader soll Abhilfe schaffen, indem der Spieleentwickler nach seinem Gusto auf die Abläufe in der T&L-Pipeline Einfluss nehmen kann. Auch Dynamikeffekte wie Keyframe Interpolation sind in der Geometrieebene anzuordnen, der "Vertex Shader" schließt diese Effekte im Normalfall mit ein. An dieser Stelle sei ebenso festgehalten, dass es sich beim "Vertex Shader", d.h. bei programmierbaren T&L-Einheiten, um ein komplett neues Feature handelt, welches in dieser Form nicht nur im Consumer-Markt, sondern in der ganzen 3D-Branche Premiere feiert. "Spiele-Karten" übertreffen mit dem Erreichen der DirectX 8-Funktionalität endgültig die Fähigkeiten von Profi-Beschleuniger, die bisher mit Volumentexturen, Accumulation Buffers und manchen T&L-Features noch etwas mehr Spezialfähigkeiten bieten konnten. Doch gerade wegen dieser Novität ist das Feature entsprechend mager dokumentiert, da man im Gegensatz zu allen bisherigen Hardwarefeatures nicht auf solide und umfassende OpenGL-Dokumentationen zurückgreifen kann.
Wie schnell ist meine Grafikkarte?Manche haben sich diese Frage vielleicht schon gestellt, aber sie haben noch keine Antwort gefunden. Das Zauberwort für das Ermitteln der Leistung des PCs bzw. der Grafikkarte heisst "Benchmark"! Mit Benchmarks kann man die Leistung des PCs oder Grafikkarte messen. Wie funktioniert ein Benchmark?In einem Benchmark wird eine 3D-Demo abgespielt und dabei die FPS (Frames per Second, Bilder pro Sekunde) gemessen. Die Tests lassen sich mit verschiedensten Einstellungen in Bezug auf Auflösung und Farbtiefe durchführen. Die Resultate werden oft in FPS ausgebeben. Das menschliche Auge empfindet 24 Bilder oder mehr als "flüssig". Wenn ein Spiel z.B. nur mit 13 FPS läuft, tritt ein unnagenehmer Effekt auf: Ruckeln! 3D Mark 2001 SEUm die Leistung des PCs, besonders abhänhig von der Grafikkarte (jedoch braucht man auch eine passende CPU, so dass beide Komponenten optimal zusammenarbeiten. In dem im Folgenden genannten Benchmark spielt die Grafikkarte eine größere Rolle. Bei gleicher CPU und zwei verschiedenen GPUs ist der Leistungsunterschied größer als bei Verwendung von 2 verschiedenen CPUs und der gleichen GPU) zu testen, gibt es einen sehr weit verbreiteten Benchmark: 3DMark! 3DMark benutzt immer die neuesten 3D Techniken, um besonders die Grafikkarte auf die Probe zu stellen. Die neueste Version ist "3DMark 2001 SE". Benchmarken mit 3DMark 2001 SEIn 3DMark wird die Leistung nicht in FPS, sondern in Punkten, "3DMarks", ausgegeben. Je mehr Punkte desto besser. Die Bedienung von 3DMark 2001 SE ist simpel. Nach dem Programmstart sind bereits alle wichtigen Einstellungen gesetzt und durch einen druck auf die Taste "Benchmark" geht es los! 3DMark 2001 SE HauptbildschirmHier ist der Hauptbildschirm von 3DMark 2001 SE zu sehen. Die Funktion der einzelnen Bereiche ist im Folgenden erklärt!
Oben Rechts im Hauptfenster werden die Systeminformationen angezeigt.
Der Name der Grafikkarte und die für den Test gemachten Einstellungen. Durch einen
Klick auf "System Info" werden ausführliche Systeminformationen angezeigt.
Durch einen Klick auf "Change..." können die Testeinstellungen verändert
werden. 3DMark BeispielergebnisHier ist ein Beispielergebnis von 3DMark zu sehen. Es wurden 6956 Punkte erreicht. Rechts sind die Einzelergebnisse zu sehen! Der hier getestete Computer hat eine hohe 3D Leistung. Prozessor und Grafikkarte arbeiten sehr gut zusammen!
|