Interessantes aus den Archiven

PCGH-Retro: Grafik-Bandbreite konkret

Dieser Artikel erschien im Original in der PC Games Hardware 04/2001. Seit dem hat sich einiges in Sachen Bandbreite bei Grafikkarten geändert, dennoch werden in diesem Artikel einige Grundlagen erklärt. (Falk Jeromin, 12.05.2008)
 
Grundsätzliche Verteilung der Speicherbandbreite eines Grafikchips.
 
Grundsätzliche Verteilung der Speicherbandbreite eines Grafikchips. [Quelle: siehe Bildergalerie]
Bandbreite konkret
Für unsere Betrachtungen gehen wir davon aus, dass wir ein Spiel mit 60 Bildern pro Sekunde darstellen wollen. Wir wählen eine Auflösung von 1.280x1.024 Bildpunkten und nehmen an, dass der durchschnittliche Überdeckungsgrad im Spiel 4 beträgt, d. h. dass jedes Pixel von vier Dreiecken überlagert wird ("Overdraw").

Geometriedaten
In einem ersten Schritt müssen die Dreiecke aus dem Grafikkartenspeicher gelesen werden. Dies ist allerdings nur bei T&L-fähigen Karten unter gewissen Bedingungen der Fall, im normalen Betriebsmodus werden diese Daten über den AGP-Bus bezogen. Unabhängig von der eingestellten Auflösung und Farbtiefe fallen heute ungefähr 0,2 bis 0,4 GB/s Geometriedaten an.
Benötigte Speicherbandbreite: 0,2 bis 0,4 GB/s

Texturspeicher
Die in Pixel zerlegten Dreiecke wollen entsprechend mit Texturen überzogen werden. Mit den üblicherweise genutzten Textur-Filtering-Techniken müssen acht Texturwerte ("Texel") pro Pixel aus dem Speicher gelesen werden. Da moderne Spiele jedes Dreieck mit mindestens zwei Texturen überziehen, vervielfacht sich dieser Wert weiter. Künftige Spiele werden bis zu acht Texturschichten pro Dreieck auftragen, entsprechend wird der Bandbreitenbedarf in diesem Berechnungsschritt in die Höhe schnellen. Mit zwei Texturen fällt eine Bandbreitenlast von 20,2 GB/s an, sofern unkomprimierte 32-Bit-Texturen benutzt werden und der Chip über keine Texturcaches verfügt (X-Auflösung*Z-Auflösung*Farbtiefe*Overdraw*fps*Anzahl Texturen*Anzahl Texturwerte). Dank Texturcaches, die einige Duzend Kilobyte groß sind, fällt die Bandbreitenlast allerdings bereits auf ca. 7,5 GB/s ab, da statt acht Texel nur etwa drei Texel aus dem externen Speicher bezogen werden müssen; der Rest liegt im schnellen SRAM-Cache innerhalb des Chips. Die immer öfter speziell bei großen Texturen genutzte Kompression reduziert das durchschnittliche Datenaufkommen weiter, so dass unter diesen Bedingungen mit ca. 3 bis 4 GB/s Bandbreitenbedarf gerechnet werden muss. Kachelbasierte Renderingarchitekturen erzielen an dieser Stelle enorme Vorteile, da sie durch das verzögerte Rendering ("Deferred Texturing") keine Pixel texturieren, welche schlussendlich unsichtbar bleiben. Alle erforderlichen Prüfungen werden bereits im ersten Rechenschritt durchgeführt. Der Overdraw-Faktor wird durch die vorgezogenen Berechnungen im Normalfall halbiert.
Benötigte Speicherbandbreite: 3 bis 4 GB/s

[index]


Tiefenspeicher
Für unsere Berechnungen nehmen wir an, dass 50 Prozent der neu gerenderten Pixel vor den bereits gespeicherten Werten liegen werden; die Tiefeninformation an dieser Stelle muss also durch jene des neuen Pixels ersetzt werden. Durch unseren Überlagerungsfaktor von 4 müssen vier Mal Tiefenwerte zwecks Vergleichstests aus dem Tiefenspeicher gelesen werden. In zwei Fällen muss die Tiefeninformation des neu gerenderten Pixel mittels eines zusätzlichen Schreibzugriffs erneuert werden. Die benötigte Speicherbandbreite für die 32-bittigen Tiefenspeicherzugriffe beläuft sich auf ungefähr 1,9 GB/s (X-Auflösung*Z-Auflösung*Overdraw*(Lesen + Schreiben)*fps).
Benötigte Speicherbandbreite: 1,9 GB/s

Bildspeicher
Im letzten Schritt der 3D-Berechnung soll das gerenderte Pixel in den Bildspeicher geschrieben werden. Wir gehen davon aus, dass der Tiefentest rund die Hälfte der Schreibzugriffe abfangen wird und nur 50 Prozent der Schreibzugriffe in den Grafikspeicher erfolgen. 50 Prozent dieser Schreibzugriffe erfordern zuvor allerdings einen Lesezugriff, da es sich um transparente Pixel handelt, welche mit den im Grafikspeicher abgelegten Pixeln vermischt werden wollen. Unter diesen Voraussetzungen fallen in diesem Schritt bis zu 2 GB/s Datenvolumen an (X-Auflösung*Y-Auflösung*Farbtiefe [Byte]*Tiefenkomplexität*fps*[Schreibrate + Leserate]).
Benötigte Speicherbandbreite: 2 GB/s

RAMDAC
Zum Schluss muss der RAMDAC die Daten aus dem Bildspeicher auslesen und an den Monitor schicken. Bei augenschonenden 85 Hz kommen bei diesem Vorgang zusätzliche Daten von ungefähr 0,4 GB/s zusammen.
Benötigte Speicherbandbreite: 0,4 GB/s

Summiert benötigen wir unter diesen Bedingungen bei durchgängigem 32-Bit-Rendering eine real verfügbare Speicherbandbreite von bis zu 8 GB/s. Die Krux an der Sache ist, dass in der Praxis nicht einmal die 7,3 GB/s aktueller Speicherchips zur Verfügung stehen, da ein großer Teil der Speicherleistung durch Latenzzeiten und andere Ineffizienzen verloren geht. Angesichts der Ergebnisse wird schnell deutlich, dass ein Wechsel zu 64 Bit Farbtiefe derzeit kaum möglich ist. Die Halbierung der Berechnungsgenauigkeit auf 16 Bit erlaubt auch auf langsameren Boards mit SDR-Speicher schnelle Bildwiederholraten. Abstriche in der Bildqualität sind dann zwar zu erkennen, in höheren Auflösungen allerdings für viele vernachlässigbar. Unsere Detail-Berechnungen lassen sich auch gut dazu nutzen, Ihr System optimal zu tunen. Oft reicht es für einen deutlichen Leistungsschub, die Texturfarbtiefe auf 16 Bit zu beschränken, während die Zugriffe auf den Bildspeicher weiterhin mit 32 Bit Genauigkeit erfolgen.

[index]

Bildergalerie zum Artikel
 
 
News, Tests und Wissen zu Technologie-Themen finden Sie auf der Technologie-Übersichtsseite von PC Games Hardware Online.
 
 
 
Verwandte Artikel:   grafikkarten   bandbreite   nvidia   amd  
 
 
 
 
2642 User online
Anmelden & mitmachen
Benutzername:
Kennwort:
Angemeldet bleiben
Jetzt mitdiskutieren!
Jetzt bestellbar!
Alles zu Crysis 3
Die besten Deals
Komplett-PCs von PCGH
Komplett-PCs von PCGH
So unterstützen Sie PCGH
Folgen Sie PCGH
Aktuelle Heft-Ausgabe
Welche Grafikkarte nutzt du derzeit zum Spielen?
Radeon HD 7970 (3.29%)
Radeon HD 7950 (1.44%)
Radeon HD 7870 (1.44%)
Radeon HD 7850 (0.92%)
Radeon HD 7770 (0.21%)
Radeon HD 7750 (0.10%)
Radeon HD 6990 (0.51%)
Radeon HD 6970 (2.16%)
Radeon HD 6950 (6.89%)
Radeon HD 6870 (5.34%)
Radeon HD 6850 (2.36%)
Radeon HD 5870 (5.04%)
Radeon HD 5850 (2.77%)
Radeon HD 5770/5750/6790/6770/6750 (3.49%)
Radeon HD 4890/4870 (1.54%)
Radeon HD 4870/4850 X2 (0.21%)
Radeon HD 4850/4830 (1.23%)
Radeon HD 3870/3850 (0.51%)
Andere HD 2000/3000/4000/5000/6000 (0.92%)
Radeon-X-1000-Reihe (0.10%)
Geforce GTX 680 (5.55%)
Geforce GTX 590 (0.41%)
Geforce GTX 580 (8.32%)
Geforce GTX 570/GTX 560 Ti-448 (11.51%)
Geforce GTX 560 Ti (9.15%)
Geforce GTX 550 Ti (0.51%)
Geforce GTX 480 (3.19%)
Geforce GTX 470 (3.91%)
Geforce GTX 460/560 Non-Ti/465 (6.89%)
Geforce GTS 450 (0.51%)
Geforce GTX 285/280/275 (2.67%)
Geforce GTX 260 (alle Versionen) (2.06%)
Geforce GTS 250/9800/8800 GT/GTS/GTX(+)/Ultra (2.16%)
Andere Geforce 500/400/200/8000/9000 (0.72%)
Geforce-7-Reihe (0.10%)
Ganz andere Grafikkarte (S3, Matrox, 3dfx & Co.) (0.00%)
Ich nutze eine Intel-IGP (z. B. HD 3000) (0.21%)
Ich nutze eine AMD-APU/IGP (0.00%)
Ich nutze eine Nvidia-Mobil-GPU (Geforce M), Angabe im Thread (0.82%)
Ich nutze eine AMD-Mobil-GPU (Radeon M), Angabe im Thread (0.41%)
Ich fühle mich geistig überfordert (0.41%)
973 Teilnehmer
PCGH-Webshops