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 sie sind im Chipsatz auf der Hauptplatine vorhanden.
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 |
Das Grafikkarten-Prinzip wurde in Serienprodukten zum ersten Mal 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 erkannte die Lücke und bot schon 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:
Ab diesem Zeitpunkt verlor IBM die Standardisierungsmacht. Das ist der Hintergrund, warum auch heute noch der VGA-Modus (640 × 480 Punkte in 16 Farben) der „Notfall-Modus“ bei allen PCs ist, denn 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 sog. 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. Dies war die erste Generation der Grafikkarten. Es folgten zwei weitere:
Ab 1990 entwickelten sich die Grafikkarten zu eigenständigen kleinen Computern mit eigener GPU (Graphics Processing Unit), einer so genannten 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 wurden anfänglich meist nur vom Windows-Betriebssystem genutzt, daher der Name. Das Konzept der Zusatzfunktionalität wurde mit der Zeit immer weiter geführt, so wurden z. B. seit ca. 1996 auch Funktionen zur Dekodierung von komprimierten Videodaten eingeführt (Videobeschleunigung).
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 so genannte 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.
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/Freezes oder Leistungseinbrüche, Ursache meist schlechte/fehlerhafte Implementierung der Schnittstelle).
Bei anderen Plattformen als den IBM-Kompatiblen 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.
Der Grafikspeicher dient zur Ablage der im Grafikprozessor (GPU) verarbeiteten Daten sowie als Framebuffer. Dies 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ötigtes 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 ca. 1.000.000 Byte (1.048.576 Byte) besteht, teilt man dieses Ergebnis mit dieser Zahl (5.760.000 / 1.000.000 = 5,76 Megabyte). Für die gewünschte Einstellung sind also 5,76 Megabyte Grafikspeicher erforderlich. 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 MiB, 512 MiB, 768 MiB), 128 MiB und weniger sind selten geworden. Im professionellen Bereich und bei leistungsstarken Spielegrafikkarten sind teilweise über 1-2 oder sogar 3-4 GiB vorhanden. Bei Onboard-Lösungen wird der Hauptspeicher des Systems als Grafikspeicher genutzt.
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 MiB Cache verbraucht werden. Die Entwicklung der Integrationsdichte der Grafikprozessoren hat mit einem jährlichen Faktor von 2,4 sogar das Mooresche Gesetz übertroffen.
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:
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.
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 diesem werden die Signalausgänge angesteuert. Dieser kann auch im Grafikprozessor integriert sein.
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.
Grundsätzlich werden vier Typen von Grafiklösungen unterschieden:
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 Low-Cost- und Büro-PCs eingesetzt. Aufgrund ihres sehr niedrigen Stromverbrauchs werden sie auch häufig in Notebooks eingesetzt. 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 zum Standard durchgesetzt hat.
Dies sind vollwertige Grafikkarten, bei denen wenig Augenmerk auf die 3D-Funktionen gelegt wird, sondern die vor allem ein scharfes und kontrastreiches Bild liefern sollen. Außerdem gibt es Karten mit 2D-Zusatzfunktionen.
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 Businesssektor zurückgedrängt) und XGI Technology, die aber nur eine untergeordnete Rolle spielen und meist in Büro-PCs Verwendung finden. Intel entwickelt zur Zeit (2008) eine leistungsfähige PCIe-Grafikkarte, die ab Ende 2008 in direkte Konkurrenz zu AMD und NVIDIA treten soll.[1]
Da die meisten Spiele die für die Microsofts Direct3D-Schnittstelle (einem 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-Features in Echtzeit berechnen. Manche Spielehersteller setzen aber auf OpenGL, allen voran id Software.
Seit kurzem befindet sich die Version 10 von DirectX auf dem Markt, die allerdings nur in Verbindung mit dem aktuellen 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 Limits in der Shaderprogrammierung und soll einen geringeren Overhead als DirectX 9 aufweisen, wodurch das Ausführen von Direct3D-Befehlen schneller von Statten 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, welches laut ARB alle Features von DirectX 10 und noch mehr unterstützen soll.
Dies sind vor allem Grafikkarten für CAD-Anwendungen. Die Karten bieten spezielle CAD-Features, 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 BIOS und Treiber auf OpenGL und nicht mehr auf DirectX optimiert. 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 Support, der Workstation-Kunden geboten werden muss, und manche Grafikkarten mit dem sehr teuren SRAM ausgestattet sind. Die Produktlinien heißen ATI FireGL bei AMD und NVIDIA Quadro bei NVIDIA.
Außer den oben beschriebenen DirectX-Grafikkarten gibt es spezielle Karten, die nur OpenGL unterstützen. Diese Karten werden im Animationsbereich häufig eingesetzt und sind heutzutage 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 dies jedoch nicht der Fall.
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 Anwendungen und Hardware, die sogenannten Gerätetreiber. Ohne diese müssten Anwendungen die Hardware direkt ansprechen, um sie zu benutzen, was aber auf Grund 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.
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 behindern. Jedenfalls ist in einigen mitgelieferten Handbüchern nachzulesen, dass Produkte von Macrovision (einer Firma, die für ihre Kopierbehinderungen bekannt ist) in die Grafikkarte mit integriert wurden.
Man findet in einem Handbuch beispielsweise folgende Passage:
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 mal von Grafikkarten desselben Herstellers. Durch ein BIOS-Update kann hier jedoch manchmal Abhilfe geschaffen werden.
Hersteller von Grafikkarten: ABIT, Albatron, AOpen, GeCube, ASUS, ATI Technologies, Connect3D, Club 3D, Creative Labs/3DLabs, DFI, Diamond Multimedia, ELSA, EVGA, Gainward, 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
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.,
Kategorien
Hardware
Bussystem
CPU-Sockel
Chipsatz
Computer
Gehäuse
Grafikchip
Hardware (Produkt)
Hardwarehersteller
Internet (Hardware)
Mikrocontroller
Mikroprozessor
Netzwerkgerät
Programmierbare Logik
Schnittstelle (Hardware)
Soundchip
Speicherkarte
Speicherlaufwerk
Speichermedium
Speichermodul
Standard (Hardware)
Steckkarte
Urheberrecht