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.
Bandbreite konkret
Grundsätzliche Verteilung der Speicherbandbreite eines Grafikchips.
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
