- Graka
-
Eine Grafikkarte steuert in einem Personal Computer die Bildschirmanzeige. Grafikkarten werden entweder als PC-Erweiterungskarten (über die Bussysteme ISA, VLB, PCI, AGP oder über PCI-Express) mit der Hauptplatine verbunden oder sind im Chipsatz auf der Hauptplatine enthalten.
Die wichtigsten Komponenten moderner Grafikkarten sind: GPU, Video-RAM, RAMDAC sowie die Anschlüsse für externe Geräte (z. B. für den Monitor).
Inhaltsverzeichnis
Geschichte
Das Grafikkarten-Prinzip wurde in Serienprodukten erstmals beim Mikrocomputer Apple II verwendet, dessen auf der Hauptplatine integrierte Grafikfähigkeiten durch zusätzlich zu erwerbende Steckkarten verbessert werden konnten. („PAL-Farbkarte“, „80-Zeichen-Karte“).
Der erste IBM-PC kam 1981 mit einer Karte auf den Markt, die lediglich die einfarbige Darstellung von Text ermöglichte (MDA = Monochrome Display Adapter). Die Firma Hercules bot 1982 eine sehr viel bessere Karte an, die Hercules Graphics Card.
Bis 1989 setzten sich die Farb-Grafikkartentypen als Standard durch, die IBM neu auf den Markt brachte:
- 1981 die CGA-Karte (populär ab 1984)
- 1984 die EGA-Karte
- 1989 mit den PS/2-Modellen die MCGA- und VGA-Karte
Auch heute noch ist der VGA-Modus (640 × 480 Punkte in 16 Farben) der „Notfall-Modus“ bei allen PCs; nur bis zu diesem Modus kann die Hardware aller heutigen PC-Grafikkarten von der Software auf einheitliche Weise angesprochen werden.
VGA war allerdings nicht der letzte Grafikkartenstandard. Die Video Electronics Standards Association (VESA) stellte einen Standard für Videomodi bis zu einer Auflösung von 1.280 × 1.024 Punkten in 16 Bit Farbtiefe auf, die heute jede PC-Grafikkarte beherrscht.
Die weiteren Bezeichnungen SVGA, XGA usw. sind keine Grafikkartenstandards mehr, sondern Kurzbezeichnungen für Bildschirmauflösungen, zum Beispiel XGA: 1024 × 768 Punkte.
Bis etwa 1990 beschränkten sich die Grafikkarten darauf, den Inhalt des Video-RAM über einen sogenannten RAMDAC-Baustein in Ausgangssignale für den Monitor umzuwandeln. Der Programmierer konnte im Wesentlichen nur den Textmodus nutzen sowie im Grafikmodus einzelne Pixel auf eine bestimmte Farbe setzen. Das war die erste Generation der Grafikkarten. Es folgten zwei weitere:
- Die sogenannten „Windows-Beschleuniger“
- Die 3D-Beschleuniger
Ab 1990 entwickelten sich die Grafikkarten zu eigenständigen kleinen Computern mit eigener GPU (Graphics Processing Unit), einer sogenannten Graphics- oder Pixel Engine oder dt. Grafikprozessor, bei dem man nicht nur einzelne Pixel setzen konnte, sondern dem man Befehle zum Zeichnen von Linien und Füllen von Flächen schicken konnte (Windows-Beschleuniger). Diese Funktionen beschleunigten vor allem das Verschieben der Fenster (Windows) der grafischen Benutzeroberfläche, daher der Name. Das Konzept der Zusatzfunktionalität wurde mit der Zeit immer weiter geführt, so wurden z. B. seit 1995 auch Funktionen zur Beschleunigung der Videowiedergabe (z. B. im AVI-Format) und Dekodierung von komprimierten Videodaten (z. B. MPEG) eingeführt (Videobeschleunigung). Diese Funktionen wurden vorher auf separaten Steckkarten angeboten.
Nachdem mit Doom der große Boom der 3D-Spiele Mitte der 90er-Jahre begonnen hatte, kam bald von 3dfx der erste brauchbare 3D-Beschleuniger, der Voodoo Graphics-Chipsatz. Einem 3D-Beschleuniger kann ein Programm in einem dreidimensionalen Raum die geometrischen Figuren in Form von Polygonen und die Texturen angeben, mit denen die Flächen der Polygone gefüllt werden sollen (Rendern). Diese recht simple, aber rechenintensive Aufgabe hatte in den frühen 3D-Spielen noch die CPU übernehmen müssen; nun konnte sie an die Grafikkarte delegiert werden, was zu einer massiven Leistungssteigerung von 3D-Spielen führte (bessere Bildauflösung, wesentlich realistischere Bilder).
Waren die 3D-Beschleuniger der ersten Generation noch auf eigenen Steckkarten verbaut, durch die das Grafiksignal der im System verbauten 2D-Grafikkarte durchgeschleift wurde, setzten sich bald Lösungen durch, die 2D- und 3D-Funktionalität auf einer Karte vereinten.
Um noch mehr 3D-Leistung anzubieten, werden heute mit der Multi-GPU-Technik (siehe auch SLI und Crossfire) zwei oder mehr 3D-Grafikkarten bzw. -prozessoren parallel geschaltet, um noch mehr Grafikelemente je Zeiteinheit berechnen zu können. Da diese Technik aber recht hohe Kosten und einen erhöhten Energiebedarf mit sich bringt, hat sie bisher nur geringen Einfluss auf den Grafikkartenmarkt.
Aufbau und Funktionsweise
Hardwareschnittstellen zum System
Die bekanntesten Hardwareschnittstellen für Grafikkarten sind PCI, AGP und PCI-Express, früher waren auch ISA oder VESA Local Bus gängig. Diese Schnittstellen sind entweder Bussysteme oder Direktverbindungen (AGP, PCI-Express), die den Buscontroller mit der Grafikkarte verbinden. Da die Spezifikation der Schnittstellen zumeist durch Interessenverbände vorgenommen wird, in denen sowohl die Controller- als auch die Grafikkarten- bzw. Grafikchiphersteller Mitglied sind, funktionieren (im Idealfall) alle konformen Grafikkarten mit allen konformen Controllern. Es gab in der Vergangenheit aber verschiedene Probleme mit einigen Schnittstellen, die die Interoperabilität einschränkten, beispielsweise "AGP Fast Writes" bei AGP (auf Intel-Plattformen konnte es die Leistung erhöhen, auf AMD-Plattformen für Instabilität sorgen) oder IRQ-Probleme bei PCI (mögliche Abstürze/Einfrieren oder Leistungseinbrüche, Ursache meist schlechte/fehlerhafte Implementierung der Schnittstelle).
Bei anderen Plattformen als den IBM-kompatiblen Rechnern gab es entsprechend den dort üblichen Stecksystemen Grafikkarten für die Apple-II-Steckplätze, später bei den ersten Macs für nuBus (später PCI und Nachfolger wie bei PC), für Amigas für deren Zorro-Bus und auch Europakarten für Systeme, die auf letzteren aufbauen.
Grafikspeicher
Der Grafikspeicher dient zur Ablage der im Grafikprozessor (GPU) verarbeiteten Daten sowie als Bildspeicher („Framebuffer“): Das sind digitale Bilder, die später auf dem Computer-Bildschirm ausgegeben werden.
Die Größe des Grafikspeichers bestimmte früher die maximale Farbtiefe und Bildauflösung. Dabei ließ sich der benötigte Speicher für eine gewünschte Auflösung und Farbtiefe vom Anwender leicht errechnen: Wenn beispielsweise die Auflösung 1600*1200 mit einer Farbtiefe von 24 Bit (True Color) erwünscht ist, berechnet man zunächst die Anzahl der Bildpunkte (Pixel) dieser Auflösung (1600 horizontal * 1200 vertikal = 1.920.000 Pixel insgesamt). Die Farbtiefe "24 Bit" bedeutet, dass für jedes dieser Pixel 24 Bit Farb-Informationen vorliegen. Somit multipliziert man die Pixelanzahl mit der Farbtiefe (1.920.000 * 24 Bit = 46.080.000 Bit). Nunmehr ist nur noch die Umrechnung in Byte erforderlich. Da ein Byte aus 8 Bit besteht, wird die Zahl durch 8 geteilt (46.080.000 Bit / 8 = 5.760.000 Byte). Da ein Megabyte aus 1.000.000 Byte besteht, teilt man dieses Ergebnis durch eine Million (5.760.000 / 1.000.000 = 5,76 Megabyte). Für die gewünschte Einstellung sind also 5,76 Megabyte Grafikspeicher erforderlich (Bemerkung: 1 Megabyte ist exakt eine Million Bytes. 1.048.576 Bytes sind heute definiert als Mebibyte = MiB). Da früher Grafikkarten in der Regel mit 4 oder 8 Megabyte Grafikspeicher ausgeliefert wurden, hätte man für die gewünschte Einstellung eine Grafikkarte mit mindestens 8 Megabyte Grafikspeicher verwendet.
Heute werden ausschließlich Grafikkarten mit sehr viel mehr Speicher gebaut, als zur reinen Bildspeicherung notwendig wäre. Beim Rendern dreidimensionaler Grafiken werden hier zusätzlich zum Framebuffer die Daten der Objekte, beispielsweise Größe, Form und Position, sowie die Texturen, die auf die Oberfläche der Objekte gelegt werden, gespeichert. Besonders die immer höher auflösenden Texturen haben für einen starken Anstieg der Speichergröße bei aktuellen Grafikkarten gesorgt. So liegt die Speichergröße aktueller Grafikkarten bereits im hohen dreistelligen Megabytebereich (256 MB, 512 MB, 768 MB), 128 MB und weniger sind selten geworden. Bei Spielegrafikkarten ist die Obergrenze Anfang 2009 bei 1 GB, wohingegen professionelle Grafikkarten schon mit bis zu 4 GB Grafikspeicher ausgestattet werden.[1]
Bei vielen Onboard-Lösungen wird der Hauptspeicher des Systems als Grafikspeicher genutzt, dies wird als Shared Memory bezeichnet. Der Zugriff erfolgt über das jeweilige Bussystem und ist deshalb langsamer als direkt angebundener Speicher.
Grafikprozessor
Der Grafikprozessor dient zur Berechnung der Bildschirmausgabe. Mitte der 1990er Jahre kamen die ersten 3D-Beschleuniger auf den Markt. Diese Grafikprozessoren waren in der Lage, einige Effekte und dreiecksbasierte Algorithmen (wie u. a. Z-Puffern, Texture Mapping) und Antialiasing selbstständig durchzuführen. Besonders dem Bereich Computerspiele verhalfen solche, zusätzlich zu installierenden Steckkarten (z. B. 3dfx Voodoo Graphics), zu einem Entwicklungsschub.
Heutzutage sind GPUs wegen ihrer Spezialisierung auf Grafikberechnungen den CPUs in ihrer Rechenleistung überlegen. Als Vergleich diene die Transistoranzahl des aktuellen Grafikprozessors von Nvidia (Geforce 8800GTS 512, 754 Millionen) mit der des aktuellen Spitzenmodells von Intel (Core 2 Extreme QX9650, 820 Millionen). Der Unterschied wird deutlich, wenn man bedenkt, dass über die Hälfte der CPU-Chipfläche für die 2x6 MB Cache verbraucht werden. Die Entwicklung der Integrationsdichte der Grafikprozessoren hat mit einem jährlichen Faktor von 2,4 sogar das Mooresche Gesetz übertroffen.
Kühllösungen
Aufgrund der hohen thermischen Verlustleistung durch die zunehmende Komplexität von Grafikprozessoren bzw. teilweise auch des Grafikspeichers sind ähnlich aufwendige Kühllösungen wie bei Prozessorkühlern notwendig. Grafikkarten verbrauchen mit einem Grafikprozessor (GeForce 8800 Ultra) bis zu 175 W Leistung, die vollständig als Wärmeenergie abgeführt werden muss. Dazu existieren mehrere Ansätze:
- passive Luftkühlung – durch einen Kühlkörper wird die thermische Energie durch Konvektion an die Umgebungsluft abgegeben. Das ist nur bei geringen Leistungen oder mit sehr großen Kühlkörpern möglich. Oft werden auf beiden Seiten der Grafikkarte großflächige Kühlkörper angebracht, welche mit einer Heatpipe verbunden sind. Zum Problem kann dabei führen, dass die Kühlkörper ein hohes Gewicht erreichen, was zu einer hohen mechanischen Belastung des Steckplatzes führt.
- aktive Luftkühlung – die thermische Energie wird über einen Kühlkörper an die Umgebungsluft abgegeben, welche durch Lüfter umgewälzt wird. Das ist die einfachste und preiswerteste Variante, große Wärmemengen abzuführen, verursacht allerdings auch Störgeräusche.
- Wasserkühlung – wenn für die CPU eine Wasserkühlung eingesetzt wird, kann auch die Grafikkarte in diesen Kreislauf eingebunden werden. Die thermische Energie wird dann an das Wasser im Kreislauf und von dort über einen Radiator an die Umgebungsluft abgegeben. Das ermöglicht einen Transport von großen Wärmemengen, ist aber auch die aufwendigste und teuerste Kühllösung. Es existieren auch einige Karten mit vorinstallierter Wasserkühlung mit dem Vorteil, dass die Garantie erhalten bleibt.
Besonders die Konstruktionen der Luftkühlungen sind durch die benötigte Oberfläche des Kühlkörpers oft wesentlich größer, als es die Spezifikationen des Steckplatzes zulassen (vgl. Abb. rechts). Aus diesem Grund können auf dem Mainboard oft die angrenzenden Steckplätze nicht verwendet werden.
RAMDAC
Der RAMDAC (Random Access Memory Digital/Analog Converter) ist ein Chip, der für die Umwandlung von digitalen (Videospeicher) in analoge Bildsignale (Monitor) verantwortlich ist. Von ihm werden die Signalausgänge angesteuert. Er kann auch im Grafikprozessor integriert sein.
Externe Signalausgänge
- VGA-Out / Mini-VGA
- An einer 15-poligen D-Sub-Buchse wird ein analoges RGB-Signal bereitgestellt. Unter beengten Platzverhältnissen ist der Ausgang auch als Mini-VGA ausgeführt (z.B. beim Apple iBook). Über ein VGA-Kabel mit entsprechendem Stecker werden CRT-Monitor (Röhrenmonitor), Projektor oder Flachbildschirm angeschlossen.
- DVI-Out / Mini-DVI
- Der DVI-Ausgang liefert ein digitales Signal und damit die beste erreichbare Bildqualität an Bildschirmen mit DVI-Eingang. Die meisten heutigen Grafikkarten sind mit einem DVI-I-Anschluss (i für integrated) ausgestattet und liefern damit zusätzlich ein analoges RGB-Bildsignal. Somit können mit einem (meist beiliegenden) passiven Adapter auch Bildschirme mit analogem D-Sub-Eingang angeschlossen werden, die Bildqualität entspricht dann jedoch weitestgehend der des D-Sub-Ausgangs. Es existieren weiterhin die Varianten DVI-D mit ausschließlich digitalen Signalleitungen und DVI-A mit ausschließlich analogen Signalleitungen. Bei DVI-D sind die Varianten (Single-Link-)DVI und Dual-Link-DVI zu unterscheiden, letztere beinhaltet doppelt so viele Datenleitungen und kann damit eine größere Bandbreite liefern. Das ist für Auflösungen größer als WUXGA (1920 × 1200) notwendig, um trotz der größeren Datenmenge pro Bild eine Bildwiederholfrequenz von mindestens 60 Hertz zu gewährleisten. Es existiert, wie bei VGA, auch eine Mini-DVI-Variante für Notebooks ohne Platz für eine vollwertige Buchse.
- HDMI-Out
- Seit 2007 werden auch Grafikkarten mit HDMI (High Definition Multimedia Interface)-Ausgang angeboten. Hier wird das Videosignal ebenfalls digital und gegebenenfalls mit HDCP verschlüsselt ausgegeben. Über HDMI können auch DVI-D-Signale übertragen werden, womit DVI-Geräte kompatibel zu HDMI sind. Die Unterstützung von HDCP ist bei DVI jedoch optional, so dass nicht alle Geräte derartig geschützte Signale wiedergeben können. Die Übertragung von Tonsignalen ist jedoch nur über HDMI-Verbindungen möglich.
- Display Port
- DisplayPort ist ein relativ neuer Verbindungsstandard für Bild- und Tonsignale. Er ist kompatibel zu VGA, DVI und HDMI 1.3 und unterstützt die Kopierschutzverfahren HDCP und DPCP (DisplayPort Content Protection). Die Verbreitung beschränkt sich Anfang 2009 auf professionelle Grafikkarten und eine proprietäre Version am MacBook.
Zusätzliche Signalausgänge und auch -eingänge sind je nach Karte unterschiedlich realisiert. Teilweise sind entsprechende Buchsen (Cinch, S-Video) direkt auf dem Slotblech vorhanden. Vor allem aus Platzgründen sehen Hersteller aber auch einen mittelbaren Anschluss über Adapterkabel oder Kabelpeitschen vor. Dann findet sich direkt auf der Grafikkarte eine Buchse, z. B. aus der Mini-DIN-Familie, deren Beschaltung nicht standardisiert ist und die oft die allgemeine Bezeichnung VIVO (für Video-In-Video-Out) hat. Hier wird eine herstellerspezifische Kabelpeitsche angeschlossen, die dann weitere Anschlussmöglichkeiten zur Verfügung stellt.
- TV-Out
- (auch Video-Out) Der als Cinch- oder S-Video-Buchse ausgeführte TV-Ausgang (engl. TV-Out) kann mit einem Fernseher oder Projektor verbunden werden. Man kann so mit mehreren Bildschirmen (PC-Bildschirm + Fernseher) arbeiten. Allerdings ist die Signalqualität des Anschlusses meist nicht sehr hoch, da es sich um ein analoges FBAS- oder S-Video-Signal handelt und die meisten Karten nicht den nötigen Schaltungsaufwand treiben, um aus diesen Signaltypen das Bestmögliche herauszuholen. Positive Ausnahmen sind einige ältere Matrox-Karten (z. B. die G400 MAX).
- Component-Out
- Über den Komponenten-Ausgang (drei Cinch-Buchsen) werden HDTV-Videodaten analog YPbPr-farbkodiert ausgegeben. Der Ausgang ist wie oben beschrieben meist nicht direkt auf der Grafikkarte ausgeführt.
- TV-In
- (auch Video-In) Neben einem Ausgang verfügen manche Karten auch über einen TV-Eingang zum Digitalisieren von externen analogen Videoquellen. Da es kaum Situationen gibt, bei denen TV-Out und TV-In gleichzeitig gebraucht werden, sowie aus Platz- und Kostengründen, sind TV-In und TV-Out oft in einer Buchse realisiert (Video-In-Video-Out). In diesem Fall ist eine gleichzeitige Nutzung als TV-In und TV-Out nicht möglich.
Bauformen und Anwendungsgebiete
Grundsätzlich werden vier Typen von Grafiklösungen unterschieden:
Onboard-Lösungen
Bei diesen Integrated Graphics Processor, kurz IGP genannten Lösungen, wird die Funktionalität der Grafikkarte in den Chipsatz der Hauptplatine integriert. IGPs bieten alle 2D-Funktionen, aber meistens nur langsame oder veraltete 3D-Funktionalität und werden daher vor allem in billigen und Büro-PCs eingesetzt, aufgrund ihres niedrigen Stromverbrauchs häufig auch in Notebooks. Bei besonders kompakten oder preiswerten Geräten wird auf einen eigenen Grafikspeicher verzichtet und stattdessen der Hauptspeicher des Rechners mitverwendet (siehe Unified Memory Architecture, Shared Memory), was sich jedoch negativ auf die Leistungsfähigkeit auswirkt.
Anbieter von IGPs:
Neueste Notebooks mit PCIe-Schnittstelle können einen austauschbaren Grafikchip besitzen (siehe Mobile PCI-Express Module), was sich jedoch (noch) nicht als Standard durchgesetzt hat.
Business-Lösungen
Das sind vollwertige Grafikkarten, bei denen wenig Augenmerk auf die 3D-Funktionen gelegt wird, sondern die vor allem ein scharfes und kontrastreiches Bild liefern sollen. Es gibt auch Varianten mit 3D-Zusatzfunktionen, vor allem für CAD-Anwendungen.
Spielegrafikkarten
Diese Grafikkarten gibt es in verschiedenen Preisklassen von rund 40 bis zu 600 Euro, wobei die teuren Karten das technisch Machbare im Bereich 3D-Darstellung widerspiegeln. Bei Spielekarten konkurrieren hauptsächlich AMD (ATI-Radeon-Serie) und NVIDIA (GeForce-Reihe) miteinander, deren Chips von einer Vielzahl von Herstellern auf deren Grafikkarten verwendet werden. Daneben gibt es noch Anbieter wie S3 Graphics, Matrox (gehörte zu den Pionieren der 3D-Spielegrafikkarten, wurde aber von der mächtigen Konkurrenz in den professionellen Markt zurückgedrängt) und XGI Technology, die aber nur eine untergeordnete Rolle spielen und meist in Büro-PCs Verwendung finden. Intel entwickelt zurzeit (2008) eine leistungsfähige PCIe-Grafikkarte, die ab Ende 2008 in direkte Konkurrenz zu AMD und NVIDIA treten soll.[2]
Da die meisten Spiele die für Microsofts Direct3D-Schnittstelle (ein Teil der Windows-Systemkomponente DirectX) entwickelt werden, sind Spielegrafikkarten auf Höchstleistung mit diesem System optimiert. Grafikkarten, die volle Hardwareunterstützung für die aktuelle DirectX-Version bieten, können praktisch alle technisch realisierbaren 3D-Rendering-Funktionen in Echtzeit berechnen. Manche Spielehersteller setzen aber auf OpenGL, allen voran id Software.
Seit 2006 befindet sich die Version 10 von DirectX auf dem Markt, die allerdings nur in Verbindung mit dem Microsoft-Betriebssystem Windows Vista funktioniert. DirectX 10 wird seitens NVIDIA von der NVIDIA-GeForce-8-Serie und aufwärts unterstützt, seitens AMD von den Karten der ATI-Radeon-HD-2000-Serie und aufwärts. Karten der ATI-Radeon-HD-3000-Serie unterstützen sogar bereits die Nachfolgerversion DirectX 10.1, die mit dem Service Pack 1 für Windows Vista ausgeliefert wird und nur geringe Neuerungen bringt (Stand: Januar 2008). DirectX 10 erhöht viele Beschränkungen in der Shaderprogrammierung und soll einen geringeren Overhead als DirectX 9 aufweisen, wodurch das Ausführen von Direct3D-Befehlen schneller vonstatten gehen soll. Der Nachteil ist, dass derzeit (Anfang 2008) nur wenige Spiele für DirectX 10 optimiert werden (prominentestes Beispiel: Crysis), da der kommerzielle Verkauf von Windows Vista erst am 30. Januar 2007 begann und die Nutzung der neuen Effekte von DirectX 10 eine enorme Rechenleistung benötigen und folglich nur auf High-End-Grafikkarten zufriedenstellend funktionieren.
Im Gegensatz dazu ist ebenfalls die Version 3.0 von OpenGL angekündigt, das laut ARB alle Funktionen von DirectX 10 und noch mehr unterstützen soll.
Professionelle Lösungen
Das sind vor allem Grafikkarten für CAD-Anwendungen. Die Karten bieten spezielle für CAD notwendige Funktionen, die auf „normalen“ Grafikkarten nur emuliert und dadurch sehr viel langsamer genutzt werden können. Nachdem der letzte Spezialchip-Anbieter 3DLabs das Geschäft 2006 eingestellt hat, bieten nur noch AMD (unter dem Markennamen ATI) und NVIDIA Lösungen für das OpenGL-Workstation-Segment an. Die beiden Firmen nutzen dabei Derivate ihrer Spielegrafikkarten-Chips. Diese werden dann mit einem modifizierten ROM und Treiber auf die 2D-Darstellung von OpenGL und nicht mehr auf die 3D-Darstellung von DirectX und OpenGL optimiert. Dabei unterstützen die Treiber dieser Grafikkarten das Zeichnen mehrerer Millionen geglätteter Linien und User-Clip-Planes.[1] Obwohl sich die Hardware zwischen Spiele-3D-Chips und OpenGL-Chips nur minimal unterscheidet, kosten Profi-Karten erheblich mehr. Grund dafür ist der umfangreiche Kundendienst, der Workstation-Kunden geboten werden muss, und das sehr teure SRAM, mit dem manche Grafikkarten ausgestattet sind. Weiterhin sind oft zusätzliche Fähigkeiten vorhanden wie DisplayPort-Anschlüsse zur Nutzung eines höheren Farbumfangs oder die Projektion einer großen Fläche mit mehreren Bildquellen. Die Produktlinien heißen ATI FireGL bei AMD und NVIDIA Quadro bei NVIDIA.
Sonstiges
Außer den oben beschriebenen DirectX-Grafikkarten gibt es spezielle Karten, die nur OpenGL unterstützen. Diese werden häufig im Animationsbereich eingesetzt und sind heute für Spieler völlig uninteressant, da die meisten PC-Spiele nur noch DirectX unterstützen (anders jedoch auf der Macintosh-Plattform). Standardmäßig beherrscht jede heutige DirectX-Grafikkarte auch OpenGL, umgekehrt ist das jedoch nicht der Fall.
Seit den Anfängen der programmierbaren Grafikpipeline im Jahr 2000 besteht die Möglichkeit, die Rechenleistung der Grafikprozessoren zur Berechnung von parallelisierbaren Rechenoperationen, wie sie z. B. bei technischen und wirtschaftlichen Simulationen vorkommen, zu nutzen. Diese Anwendung wird als GPGPU (General Purpose Computation on Graphics Processing Unit) bezeichnet.
Software-Grafikschnittstellen
Um Grafikkarten benutzen zu können, ohne Hardware und Software für jede einzeln zu entwickeln, existieren verschiedene Software-Grafikschnittstellen.
Vor allem auf grundlegender Funktionsebene interessant ist das BIOS, das wichtige Text- und Grafikausgabefunktionen bereitstellt, die u. a. von Textkonsolen unter DOS oder Linux genutzt werden. Diese Funktionen sind relativ langsam, funktionieren aber zuverlässig auf jeder Grafikkarte.
In den meisten heutigen Betriebssystemen liegt eine Abstraktionsschicht zwischen Programmen und Hardware, die sogenannten Gerätetreiber. Ohne diese müssten Programme die Hardware direkt ansprechen, was aber aufgrund der Unterschiede zwischen Grafikkarten zu einer hohen Spezialisierung und damit hohem Programmieraufwand für die Unterstützung vieler Grafikkarten führen würde. Da aber Grafikkartentreiber ebenfalls sehr unterschiedliche Funktionen anbieten können, wurden im Laufe der Zeit verschiedene Grafik-APIs entwickelt, die den Zugang zu diesen Funktionen erleichtern sollen. Die bekanntesten darunter sind OpenGL und DirectX (genauer: DirectDraw, Direct3D), die es dem Programmierer ermöglichen, einfach und unabhängig von der Grafikkarte 2D- und 3D-Grafik anzuzeigen. Für letztere setzen die Schnittstellen nicht unbedingt Hardware-3D-Funktionen der Grafikkarte voraus, nutzen diese aber, falls sie vorhanden sind. Ältere 3D-Anwendungen können im Prinzip auch auf Computern mit integrierter Grafik oder einer einfachen 3D-Karte laufen, jedoch relativ langsam und/oder optisch weniger ansprechend.
Softwareprobleme mit Grafikkarten
Da viele Grafikkarten heutzutage das flüssige Anschauen von Videos mittels des Rechners durch Hardwarebeschleunigung erlauben und ebenfalls viele Grafikkarten einen TV-Out-Anschluss haben, ist es naheliegend, den Rechner an einen Fernseher oder einen Videorekorder anzuschließen. Jedoch ist es bei einigen Herstellern so, dass sie es durch den Grafikkartentreiber oder die Grafikkarte selbst unterbinden, beide Fähigkeiten miteinander zu verbinden. So kommt es vor, dass beim Abspielen von Videos zwar die gesamte Benutzeroberfläche sichtbar ist, das Video selbst jedoch nicht. Unter Linux funktioniert dann beispielsweise die XVideo-Implementation nur bei der primären Anzeige (also dem Computer-Monitor), nicht jedoch beim TV-Out-Anschluss. Dieses Problem kann man meist umgehen, indem man die Hardwarebeschleunigung für das Dekodieren von Videos ausschaltet, jedoch ist das Video dann oft nicht mehr flüssig anzusehen, was dann meist den Spaß am Anschauen verdirbt.
Es wird vermutet, dass solche Beschränkungen eingebaut werden, um den Nutzer an der Aufzeichnung des Videos durch einen Videorekorder zu hindern. Jedenfalls ist in einigen mitgelieferten Handbüchern nachzulesen, dass Produkte von Macrovision (einer Firma, die für ein Kopierschutzverfahren bekannt ist) in die Grafikkarte integriert wurden.
Man findet in einem Handbuch beispielsweise folgende Passage:
- Dieses Produkt enthält Copyrightschutz-Technologie, die durch Verfahrensansprüche bestimmter US-Patente sowie andere geistige Eigentumsrechte geschützt ist, die Macrovision Corporation und anderen Rechtsinhabern gehören. Die Verwendung dieser Copyrightschutz-Technologie muss von Macrovision Corporation genehmigt werden und darf sich nur auf den Privatbereich erstrecken, wenn Macrovision Corporation keiner anderen Verwendung zugestimmt hat. Das Reverse Engineering oder Disassemblieren der Software ist untersagt. Geräteansprüche des US-Patents der Nummern 4,631,603, 4,577,216, 4,819,098 und 4,907,093 sind nur für eingeschränkte Vorführungen lizenziert. [Verbote des Reverse Engineering oder Disassemblieren werden nach vorherrschender deutscher Rechtsprechung allgemein als unwirksam betrachtet. Siehe aber Wikipedia:Hinweis Rechtsthemen]
Ein konkreter Fall ist der fglrx-Treiber von AMD, der (derzeit) nicht das hardwareunterstützte Abspielen von Videos am TV-Ausgang unterstützt.
Ein weiteres Problem war und ist die Verwendung mehrerer VGA-kompatibler Grafikkarten, wie es in PCI-Systemen der Fall sein kann. Hierbei unterstützt das Betriebssystem nicht jede freie Kombination, nicht einmal von Grafikkarten desselben Herstellers. Durch eine Aktualisierung des ROMs auf der Karte kann hier jedoch manchmal Abhilfe geschaffen werden.
Hersteller
Hersteller von Grafikkarten: ABIT, Albatron, AOpen, ASUS, ATI Technologies, AXLE3D, Club 3D, Connect3D, Creative Labs/3DLabs, DFI, Diamond Multimedia, ELSA Technology, EVGA, Elitegroup, Gainward, Galaxy Microsystems Ltd., GeCube, Genoa, GigaByte, Hercules Graphics, HIS, Leadtek, Matrox, MSI, Number Nine, Orchid Technologies, Paradise Systems, PixelView, PNY, PowerColor, Quantum3D, Sapphire, Sigma, Sparkle, SPEA, STB Systems, TerraTec, VideoLogic, Video Seven, XFX, XpertVision, Zotac
Hersteller von Grafikchips: 3dfx, 3DLabs, AMD, Alliance Semiconductor, ARK Logic, ArtX, ATI Technologies, Avance Logic, Bitboys Oy, Chips & Technologies, Cirrus Logic, Matrox, NeoMagic, Number Nine, NVIDIA, Oak Technologies, Rendition, S3 Graphics, S3 Inc., SiS, Trident, Tseng Labs, Western Digital, XGI.
Heute sind nur noch AMD, NVIDIA, Matrox und S3 Graphics als Grafikchiphersteller auf dem Markt, sowie AMD, Intel, NVIDIA, SiS und VIA Technologies als Hersteller von integrierten Grafiklösungen.
Siehe auch
Quellen
- ↑ a b c't 2009/2, S.126, Bauarbeiter - Grafikkarten für professionelle CAD- und 3D-Anwendungen
- ↑ ComputerBase - Larrabee: Fakten zur Intel-Highend-Grafikkarte
Weblinks
Wikimedia Foundation.