Theoretische Leistungsindikatoren und -fähigkeit von Grafikkarten

Eine Grafikkarte besteht aus einem Grafikchip und einem Grafikspeicher, welche individuell getaktet werden. Je höher der Takt, desto besser die Leistungsfähigkeit einer Grafikkarte. Dieses Grundprinzip ist sicherlich jedem Computer-Anwender geläufig. Aber es gibt noch einige weitere Faktoren und Leistungsindikatoren einer Grafikkarte, dessen Zusammenhang vielen nicht bekannt ist. Was sagen Pixel-, Texelfüllrate, Speicherbandbreite und GFlops aus? Was sind ROP, TMU, Memory Interfaces und Streamprozessoren?

In diesem Artikel werden die wichtigsten Komponenten einer Grafikkarte erläutert, welche unmittelbar Einfluss auf die Rechenleistung bzw. Leistungsfähigkeit besitzen. Des Weiteren wird erläutert, welche theoretischen Leistungsindikatoren existieren und wie man diese berechnet. Bevor wir aber ins Detail gehen, soll eine Übersicht verdeutlichen, welche Komponenten einer Grafikkarte die Leistungsfähigkeit einer Grafikkarte wirklich beeinflussen. Oftmals bewerten Laien und gerne auch die Grafikchip-Hersteller bestimmte Features über, die wenig bis gar keinen Einfluss auf die Leistungsfähigkeit haben. Bestes Negativ-Beispiel ist die Größe des Grafikspeichers, welcher nur wenig Einfluss auf die Leistung hat.

Hohe Auswirkung auf Leistung Wenig / Keine Auswirkung auf Leistung
- Taktraten für Chip, Shadereinheiten und Speicher
- Anzahl Streamprozessoren (Auswirkung auf Shaderleistung, GFlops)
- Anzahl ROPs (Auswirkung auf Pixelfüllrate)
- Anzahl TMUs (Auswirkung auf Texelfüllrate)
- Speicherinterface (Auswirkung auf Speicherbandbreite)
- Speichertyp (SDR, DDR, etc.) (Auswirkung auf Speicherbandbreite)
- DirectX, OpenGL Versionen
- Größe des Grafikspeichers
- Grafikbus (PCI-Express, AGP)
- Stromsparfeatures
- Technologien wie CUDA, PhysX

Was sind Leistungsindikatoren einer Grafikkarte?

Leistungsindikatoren wie die Pixelfüllrate oder Speicherbandbreite sagen etwas über die maximale Leistungsfähigkeit der Grafikkarte in einem bestimmten Bereich aus, die theoretisch möglich ist. In der Regel werden diese in der Praxis aber nie erreicht, so dass man diese Werte nicht überbewerten darf. Letztendlich sind die Frames per Seconds (FPS) in einem realistischen PC-Spiel entscheidend!

Trotzdem sind Leistungsindikatoren sehr nützlich, um die technischen Features der unterschiedlichen Grafikkarten besser miteinander vergleichen zu können. Die Hersteller haben oftmals die Möglichkeit, an mehreren Leistungsschrauben zu drehen. Um abschließend zu analysieren, was die Änderungen wirklich gebracht haben bzw. wie sich die Unterschiede zwischen zwei Modellen bemerkbar machen, kann man die theoretische Leistungsfähigkeit zu Rate ziehen.

Beispiel: Die Leistungsfähigkeit des Grafikspeichers ist abhängig von drei Faktoren: Taktrate, Speicherinterface und Speichertyp. Ändert man eine der Faktoren, so wirkt sich dies auf die Speicherbandbreite aus. Dreht man an unterschiedlichen Schrauben, ist erst einmal unklar, wie sich dies auf die Gesamtleistung auswirkt. Mithilfe von Leistungsindikatoren existiert eine objektive Bewertungsmöglichkeit.

Wenn man beispielsweise das Speicherinterface einer Grafikkarte halbiert und gleichzeitig den Takt verdoppelt, ist der Effekt gleich Null! Der Hersteller wird in Wirklichkeit aber damit prahlen, dass das neue Top-Modell super leistungsfähig ist, da der Takt verdoppelt wurde.

Wichtige Einheiten einer Grafikkarte

ROP = Raster Operation Processor

Der Raster Operation Processor (kurz ROP) ist auch bekannt als Render Output Unit oder Raster Operations Pipeline. ROPs sind zuständig für die Berechnung von Pixeln und dem anschließenden Schreiben der Pixel-Daten in den Grafikspeicher. Die theoretische Leistungsfähigkeit wird als Pixelfüllrate (engl. Pixel Fill Rate) angegeben.

Heutzutage hat die Pixelfüllrate nicht mehr den Stellenwert, den es früher hatte, da mittlerweile die Shaderleistung im Vordergrund steht.

TMU = Texture Mapping Unit

Texture MappingWenn das nackte 3D-Modell steht, müssen die Oberflächen mit 2-dimensionalen Bildern bzw. Pixeln versehen werden. Diese Texturen werden mithilfe der Textureinheiten (Texture Mapping Units, TMU) des Grafikchips berechnet. Dieses Prinzip nennt man Texture Mapping. Ein Grafikchip hat in der Regel mehrere TMUs, um die Rechenleistung des Texture Mappings zu erhöhen. Die Leistung des Texture Mappings einer Grafikkarte wird anhand der Texelfüllrate (engl. texture fill rate) gemessen: x Texel/s.

Wie die ROPs ist der Stellenwert der TMUs in den Hintergrund geraten.

Speicherschnittstelle (Memory Interface)

Die Speicherschnittstelle einer Grafikkarte ist die Verbindung zwischen Grafikchip und Grafikspeicher. Je breiter die Speicherschnittstelle ist, sprich je mehr Datenleitungen vorhanden sind, desto mehr Daten können zum und von dem Grafikspeicher gleichzeitig transferiert werden. Bildlich kann man sich dies als Daten-Autobahn mit mehreren Fahrbahnen vorstellen.

Die Angabe der Speicherschnittstelle erfolgt in Bit. Die theoretische Leistungsfähigkeit wird als Speicherbandbreite (Memory Bandwidth) angegeben, welche abhängig von der Breite des Speicherinterfaces, der Grafikspeicher-Technik (SDR, DDR, usw) und dem Grafikspeicher-Takt abhängig ist. Wichtig: es ist ein Irrglaube, dass die Größe des Grafikspeichers entscheidenden Einfluss auf die Leistungsfähigkeit einer Grafikkarte hat! Ähnlich wie bei einer herkömmlichen Festplatte ist nicht die Größe, sondern die Schnelligkeit der Festplatte für eine gute Performance verantwortlich. Was nutzt ein großer Grafikspeicher, wenn die Grafik-Daten nicht schnell genug in den Grafikspeicher geschrieben bzw. gelesen werden können?

Aus diesem Grund ist die Speicherbandbreite ein wichtiger Leistungsindikator einer Grafikkarte und nicht die Größe des Grafikspeichers.

Streamprozessoren (Unified Shader)

Für die mit DirectX 9 eingeführten Streamprozessoren gibt es mittlerweile viele Marketing-Begriffe: Unified Shader, CUDA-Prozessoren, etc. Alle Begriffe meinen die Einheiten einer Grafikkarte, welche Pixel-, Vertex- und Geometrieshader-Aufgaben berechnen. Je mehr Streamprozessoren eine Grafikkarte besitzt, desto höher ist deren Leistungsfähigkeit in shaderlastigen 3D-Spielen. Als Leistungsindikator werden GFlops zur Hilfe genommen.

Technische Werte von zwei Beispiel-Grafikkarten

Bevor wir auf die theoretischen Leistungsindikatoren eingehen und diese berechnen, sollen die Geforce GTX 480 und Radeon HD 5870 als Beispiel-Grafikkarten vorgestellt werden:

Geforce GTX 480

Chiptakt: 700 MHz
Shadertakt: 1401 MHz
Realer Speichertakt: 924 MHz
effektiver Speichertakt: 3696 MHz

Anzahl ROP: 48
Anzahl TMU: 60
Anzahl Shaderprozessoren: 480
Speicherschnittstelle: 384 Bit

Radeon HD 5870

Chiptakt: 850 MHz
Shadertakt: 850 MHz
Realer Speichertakt: 1200 MHz
effektiver Speichertakt: 4800 MHz

Anzahl ROP: 32
Anzahl TMU: 80
Anzahl Shaderprozessoren: 1600
Speicherschnittstelle: 256 Bit

Leistungsindikatoren von Grafikkarten

Pixelfüllrate (Pixel Fill Rate)

Die Pixelfüllrate gibt an, wie viele Pixel von dem Grafikchip berechnet und in den Grafikspeicher geschrieben werden können. Die Pixelfüllrate war in früheren Zeiten ein wichtiger Leistungsindikator einer Grafikkarte. Seit Einführung von Streamprozessoren (ab DirectX 9) hat dieser Wert eine geringe Bedeutung.

Berechnung      : Chiptakt x Anzahl der ROPs
Geforce GTX 480 : 700 MHz  x 48 = 33.600 MPixel/s
Radeon HD 5870  : 850 MHz  x 32 = 27.200 MPixel/s

Texelfüllrate (Texture Fill Rate)

Ähnlich wie bei der Pixelfüllrate gibt die Texelfüllrate an, wie viele Texel von dem Grafikchip berechnet und in den Grafikspeicher geschrieben werden können. Auch hier gilt, dass seit Einführung der Shaderprozessoren dieser Wert eine geringe Bedeutung hat. Da die Berechnung der Texel durch die Textureinheiten (Texture Mapping Units, TMU) erfolgt, berechnet sich die Texelfüllrate aus der Anzahl der TMUs und dem Chiptakt.

Berechnung      : Chiptakt x Anzahl der TMUs 
Geforce GTX 480 : 700 MHz x 60 = 42.000 MTexel/s
Radeon HD 5870 : 850 MHz x 80 = 68.000 MTexel/s

Hinweis: man unterscheidet zwischen "bilinear INT8 texel filtering" und "bilinear FP16 texel filtering". In diesem Falle wurde INT8 berechnet.

GFlops (MADD/MUL-Rechenleistung)

Seit Einführung von Unified Shadern ist die Angabe "Giga Floating Point Operations Per Second" (kurz GFlops) ein wichtiger Leistungsindiktor von Grafikkarten geworden. Sie steht für die theoretische maximale Rechenleistung bzw. den Gleitkommaoperationen pro Sekunde und wird dazu verwendet, um die theoretische Leistungsfähigkeit der Shader-Architektur (Streamprozessoren) zu ermitteln.

Die Berechnung der GFlops ist ohne Weiteres nicht möglich. Bei AMD/ATI ist die MADD-, bei Nvidia die kummulierte MADD/MUL-Rechenleistung entscheidend. Grund hierfür ist, dass sich die Shaderarchitektur beider Hersteller grundlegend unterscheidet.

Hinweis: Auch hier gibt es zwei Berechnungsarten, nämlich Single- und Double-Precision.

Speicherbandbreite (Memory Bandwidth)

Die Speicherbandbreite bzw. Memory Bandwidth ist der maximale Datendurchsatz vom Grafikchip zum Grafikspeicher. Sie ist abhängig von der Breite der Speicherschnittstelle, dem Grafikspeicher-Takt und dem eingesetzten Grafikspeicher-Typ. Letzteres unterscheidet sich beispielsweise in SDR, DDR, DDR2, DDR3 und DDR5. DDR im Vergleich zu SDR hat einen doppelten so hohen Datendurchsatz, da DDR gleich zwei Datenpakete pro Takt überträgt. Durch die Weiterentwicklung der Grafikspeicher-Typen konnten also die Datendurchsatzraten erhöht werden, ohne an der Taktschraube zu drehen.

Aus diesem Grund spricht man auf der einen Seite vom realen Grafikspeicher-Takt, welcher der "wirkliche" physikalische Takt darstellt. Auf der anderen Seite spricht man vom effektive Takt, also von der theoretischen Leistungsfähigkeit, wie normaler SDR-Speicher in der Lage wäre.

Berechnung      : Effektiver Grafikspeicher-Takt x Speicherschnittstelle / 8
Geforce GTX 480 : 3696 MHz x 384 Bit / 8 = 177.408 MB/s
Radeon HD 5870  : 4800 MHz x 256 Bit / 8 = 153.600 MB/s

Zusammenfassung

ROP = Einheiten zur Berechnung von Pixeln
TMU = Einheiten zur Berechnung von Texeln (Texture Mapping)
Speicherschnittstelle = Verbindung Grafikchip zum -speicher: Datendurchsatz u.a. abhängig von Anzahl Datenleitungen.

Pixelfüllrate = Veralteter Leistungsindikator des Grafikchips: Wie viele Pixel können berechnet werden?
Texelfüllrate = Veralteter Leistungsindikator des Grafikchips: Wie viele Texel können berechnet werden?
GFLops = Leistungsindikator der Shaderarchitektur.
Speicherbandbreite = Leistungsindikator des Grafikspeichers: Datendurchsatz von Grafikchip zum Grafikspeicher.

Weitere Quellen:

gpureview.com (englisch)
techreport.com (englisch)