ComputerBase

Vorschau: ATi Radeon X800 Pro und X800 XT

von Carsten Spille

Vorwort

Heute ist Dienstag. Heute ist der 4. Mai. Heute stellt ATi die neue Chipgeneration mit kanadischem Design vor. Dazu passend gibt es einen neuen Imageträger für die X800-Serie. Wie schon Dawn, Dusk und kürzlich Nalu handelt es sich dabei um eine digital erzeugte Dame, die die Herzen der vornehmlich männlichen Kundschaft ein wenig Richtung ATi schlagen lassen soll.

Ruby Lips
Ruby Lips
Ruby
Ruby

Passend zum tiefen Rot, das das Firmenlogo von ATi ziert, heisst diese Dame „Ruby“ - passend aber auch zum heutigen Dienstag, denn wer kennt nicht den Hit der Rolling Stones „Ruby Tuesday“?

Zitat

She would never say where she came from

Yesterday don“t matter if it“s gone

While the sun is bright

Or in the darkest night

No one knows

She comes and goes

Goodbye, ruby tuesday

Who could hang a name on you?

When you change with every new day

[p]Still I“m gonna miss you...
[/p]

Don“t question why she needs to be so free

She“ll tell you it“s the only way to be

She just can“t be chained

To a life where nothing“s gained

And nothing“s lost

At such a cost

There“s no time to lose, I heard her say

Catch your dreams before they slip away

Dying all the time

Lose your dreams

And you will lose your mind.

[p]Ain“t life unkind?
[/p]

[chorus]

Insbesondere der Refrain und die letzte Strophe klingen ein wenig so, als hätte man sich einen kleinen Seitenhieb in Richtung nVidia nicht verkneifen wollen, so viele Spekulationen, wie es im Vorfeld zur X800 gab. Es war die Rede von „extreme Pipelines“, lange Zeit waren auch wir überzeugt, das Spitzenmodell käme mit nur zwölf Pipelines und 500 MHz GPU-Takt. Alles heiße Luft! Satte sechzehn Rendering Pipelines zieren die „X800 XT“ zusammen mit einem Chiptakt von 520 MHz - soviel sei schonmal verraten.

Aber genug der Vorrede: Hier kommt die Radeon X800!

Ruby
Ruby
Radeon X800 Logo
Radeon X800 Logo
Ruby
Ruby

Chip und Karte

Da ist es nun offiziell und zu allererst müssen wir eine Fehleinschätzung unsererseits eingestehen. Hatten wir noch vor knapp zehn Tagen das in Taiwan aufgetauchte Bild der Radeon X800 [1] als unecht gewertet, werden wir heute eines besseren belehrt.

Foto X800
Foto X800
DRAM DC IO Power
DRAM DC IO Power
A Series that Delivers
A Series that Delivers

ATi hat es, wie wir schon als Möglichkeit einräumten, tatsächlich geschafft, sowohl die Radeon X800 Pro als auch die X800 XT durch die Umstellung des Herstellungsprozesses auf einen 0,13µ-lowK Prozess der Chipschmiede TSMC und durch die Verwendung von GDDR3-RAM, welches mit deutlich weniger Leistung auskommt, als DDR- oder gar DDR-II RAM, die Leistungsaufnahme des kompletten Boards nicht allzu stark ansteigen zu lassen. Die X800 Pro soll sogar weniger Strom verbrauchen, als die Radeon 9800 XT.

Hier haben wir die beiden Chips und Taktraten nochmal im direkten Vergleich. Der Übersicht halber auch nochmal direkt in unserer bekannten Tabelle und mit den entsprechenden Werten der GeForce.

Radeon
9800 XT
Radeon
X800 Pro
Radeon
X800 XT
GeForce FX
5950 Ultra
GeForce
6800 Ultra
Chip R360 R420 R420 NV38 NV40
Transistoren ca. 110M 160M 160M ca. 135M ca. 222M
Fertigung 0,15µ 0,13 µm
lowK copper
0,13 µm
lowK copper
0,13 µm 0,13µ
Taktung (MHz) 412 475 520 475 400
Renderpipes 8 12 16 4(8)* 16(32)*
Pixelfüllrate 3296MPix/s 5700MPix/s 8320MPix/s 1900 6400MPix/s
TMUs je Pipe 1 1 1 2 1
Texelfüllrate 3296MTex/s 5700MTex/s 8320MTex/s 3800MTex/s 6400MTex/s
Vertexeinheit DX9 VS2.0 DX9 VS 2.0 DX9 VS 2.0 DX9 VS2.0+ DX9 VS3.0
Vertexpipes 4 6 6 3 (Array) 6
Dreiecksdurchsatz ca. 412MV/s ca. 712MV/s ca. 780MV/s ca. 356MV/s ca. 600MV/s
Texturen pro Pass 8 (16) 8 (16) 8 (16) 8 (16) 8 (16)
Pixelshader PS2.0 PS 2.0+ PS 2.0+ PS2.0+ PS 3.0
FP-Einheiten 3+1 ALU
3+1 Mini ALU
1TexOp
3+1 ALU
3+1 Mini ALU
1TexOp
3+1 ALU
3+1 Mini ALU
1TexOp
2 (Shadercore + FPU) 2 (Shader-Unit 1 & 2)**
Speicher (MB) 256 DDR 256 GDDR3 256 GDDR3 256 DDR 256+ GDDR3
Anbindung 256-bit DDR 256-bit GDDR3 256Bit GDDR3 256-bit DDR 256-bit GDDR3
Speichertakt (MHz) 365 450 560 475 550
Bandbreite (MB/s) 23360 28800 35840 30400 35200
SinglePass Texturop. 16 D3D / 8 (oGL) 16 (D3D) / 8 (oGL) 16 (D3D) / 8 (oGL) 16 (D3D) / 4 (oGL) 16 (D3D) / 4 (oGL)
RAMDAC 2x400MHz 2x400MHz 2x400MHz 2x400MHz 2x400MHz
TV-Encoder integriert integriert integriert integriert integriert
Sonstiges DVD MC/iDCT DVD MC/iDCT,
MPEG2 En- / Decoder,
MPEG4 En- / Decoder
DVD MC/iDCT,
MPEG2 En- / Decoder,
MPEG4 En- / Decoder
DVD MC/iDCT DVD MC/iDCT,
MPEG2 En- / Decoder,
MPEG4 En- / Decoder
Präz. pro Kanal 24Bit (FP24) 24Bit (FP24) 24Bit (FP24 32Bit (FP32) 32Bit (FP32)
* nVidias High-End GPU unterstützen seit dem NV30 ein Verfahren, bei dem in den ROPs am Ende der Pipeline jeweils zwei, anstatt der üblichen einen Z-/Stencilwerte verarbeitet werden können. Solange Pixel also ohne Farbwert auskommen und auch nicht texturiert sind (Stencilschatten und reine Z-Writes) bekommt man zwei Pixel pro Takt durch eine physikalische Pixelpipeline.
** Wenn die vorliegenden Informationen korrekt sind, besitzt der NV40 zwei FP-Einheiten in jeder seiner 16 Pipelines. Allerdings scheint es ebenso vielfältige Möglichkeiten wie Einschränkungen zu geben, um diese gemeinsam zu nutzen. Nur die wenigsten der komplexeren Shader-Instruktionen können auf beiden wirklich parallel und ohne irgendwelche Abhängigkeiten laufen. Für detailliertere Informationen zur CineFX-Architektur der GeForceFX bietet 3DCenter.de einen passenden Artikel [2] an.

Kommen wir nun zum Chip an sich und dessen Interna. Auch beim R420, das sei vorab schonmal gesagt, verläßt sich ATi zum größten Teil noch auf die mittlerweile fast zwei Jahre alte Architektur der Radeon 9700 Pro. Natürlich wurde alles schneller, weiter und höher (bis auf den Kühler).

Die Architektur

Architektur
Wie schon gesagt, besteht die Rendering-Einheit des X800 XT aus 16 Pixelpipelines, die von sechs Vertexeinheiten mit verarbeiteter Geometrie gefüttert werden. Die X800 Pro muss hier mit zwölf Pixelpipes vorlieb nehmen, bekommt aber ebenfalls sechs Vertexeinheiten.

Radeon X800 Block Diagram
Radeon X800 Block Diagram

Dass hier nicht auch eingespart wurde, erklärte Rene Froelecke von ATi damit, dass die Vertexeinheiten wesentlich weniger fehleranfällig seien als die Pixelshader, so dass hier nicht noch einmal separat selektiert würde.

Vertexshader

Vertec Processing Engine
Vertec Processing Engine
Vertex Processing Engine Detail
Vertex Processing Engine Detail

Die Vertexshader wurden gegenüber dem R360 und damit dem R300-Chip, der das Herz der Radeon 9700 Pro darstellt, kaum verändert. Nach wie vor beherrscht jede Pipeline eine Vector4 und eine Skalar-Operation simultan. Das einzig neue scheint die Abarbeitung der Sincos-Instruktion in nur einem Takt zu sein. Dies verschlang vormals bis zu acht Takte, lieferte aber immer auch Sinus und Cosinus zurück. Die Sincos-Funktion liefert als Resultat in einem Takt nur entweder den Sinus oder den Cosinus. Im direkten Vergleich braucht man für dieselbe Arbeit also zwei Takte und ist somit immer noch bis zu vier Mal schneller in diesem Spezialfall.

Die Verdoppelung des Dreiecksdurchsatzes erreicht man teils durch die zwei zusätzlichen Vertexpipelines gegenüber dem R360 auf der Radeon 9800 XT und zum anderen Teil rein durch den höheren Takt.

Pixelshader

Pixel Processing Engine
Pixel Processing Engine
Pixel Shader Enhancements
Pixel Shader Enhancements
Pixel Shader Unit 2
Pixel Shader Unit 2
Pixel Shader Enhancements2
Pixel Shader Enhancements2
Pixel Shader Enhancements3
Pixel Shader Enhancements3
Pixel Shader Enhancements4
Pixel Shader Enhancements4

Das komplette Design des Chips ist von den Pixeleinheiten her modular ausgelegt, so dass theoretisch auch eine X800 mit nur vier aktiven Pixelpipelines vorstellbar wäre - einem Teil dieser Modularität verdankt die Radeon X800 Pro ihre Existenz, denn bei ihr wurde eines der vier „Quads“ bereits deaktiviert.

Gehen wir die Bilder von links nach rechts durch, so ist zu bemerken, dass viele Dinge bereits im R360- und R300-Chip vorhanden waren. Die vormals 12 und nun 32 „Temporary-Registers“ sind eine Sache, so stehen jetzt für jede Pipeline quasi zwei Temporäre Register zur Verfügung.

Die erhöhte Instruktionsanzahl ist ein wenig Augenwischerei, denn hier werden schlicht die Instruktionen, die die einzelnen Einheiten im Pixelshader separat ausführen können, zusammengezählt. Diese Trennung ist aber so eigentlich nicht vorgesehen, da eine Instruktion eine beliebige Ausführungseinheit ansprechen können muss. Ausserdem sind Vector- und Skalar-ALU Nummer eins und zwei nicht gleichberechtigt, bzw. befähigt. Wer sich die Relationen einmal genauer anschaut, wird erkennen, daß auch die Größen im Bild ein wenig unterschiedlich sind. Hier hat man einfach die vormaligen „Mini-ALUs“, welche schon im R300 vorhanden war, zu vollwertigen ALUs befördert - nichts anderes tat nVidia im NV40.

Den F-Buffer gibt es nun schon zum zweiten Mal als neues Feature, diesesmal sogar in Hardware. Er wird weiterhin eher ein Feature für Developer und Offline-Renderer bleiben, da die meisten Shader in aktuellen Spielen nicht einmal am Instruktionslimit von 96 der DirectX9 Spezifikation kratzen. Der Vorteil hier ist allerdings, daß der F-Buffer nun dynamisch seinen Speicher selbst allozieren kann und ihn nicht mehr im Vorfeld manuell zugeteilt bekommen muss.

Auf das letzte Feature, im rechten Bild zu sehen, namens „3dc“, gehen wir in einem separaten Abschnitt noch ein.

HyperZ HD

Hyper Z Enhancements
Hyper Z Enhancements

Im Unterschied zu den teildeaktivierten R300-Chips, die als Radeon 9500 verkauft wurden, wird in der X800--Reihe das HyperZ-Feature vollständig funktional bleiben, wenn Quads deaktiviert werden. Außerdem wurde der Buffer vergrößert, so dass nun auch Auflösungen größer als 1600x1200 von HyperZ profitieren können, so z.B. die größere der beiden HDTV-Auflösungen „1080i“.

ATi behauptet, durch ihren Z-/Stencilcache und weitere Optimierungen, bis zu 32 Z-Werte pro Takt testen zu können und damit quasi auch die Möglichkeit zu haben, einen 32x0-Modus zu aktivieren, ähnlich wie nVidia. Wir glauben jedoch, dass man hier schlicht Two-Side Stencil mit 16 Pixeln ausmultipliziert hat, womit man zwar auf 32 Z-/Stencil-Werte pro Takt käme, die aber nur auf 16 Werte im 3D-Raum eingeschränkt wären.

Speichercontroller

Memory Interface
Memory Interface

Auch die X800-Reihe wird, wie nahezu alle aktuellen Chips, über einen Cross-Bar-Speichercontroller verfügen. Dieser ist dafür zuständig, die einzelnen Read/Write-Requests der entsprechenden Ports möglichst effizient auf die vier 128 logische Bit breiten Kanäle zu verteilen.

Wenn nun aber eines oder zwei der Quads deaktiviert werden, gibt es ein Problem, wenn dieser Controller rigoros auf die Anforderungen von vier Quads zugeschnitten ist. Bei der X800-Reihe ist der Controller über den Treiber programmierbar, so dass auch die X800 Pro und eventuelle weitere Derivate optimal ausgelastet werden können.

FSAA und 3Dc

Smoothvision HD

Anti Aliasing
Anti Aliasing
Anti-Aliasing Enhancements
Anti-Aliasing Enhancements

Auf den ersten Blick: „Nichts Neues im Staate Dänemark“. Weiterhin wird Multisample-Anti Aliasing mit bis zu sechs Samples angeboten, die auf einem 6x6-Raster nahezu optimal verteilt werden. Eine Gamma-Korrektur für Ausgabegeräte mit einem Gamma-Wert von 2,2 und Color-Compression mit bis zu 6:1 Verdichtungsfaktor tun ihr Übriges - seit der Radeon 9700 Pro.

Neu ist allerdings das so genannte Temporal Anti-Aliasing. Dabei macht sich ATi die Programmierbarkeit des Abtastrasters der R300 und höher zunutze. Es werden pro gerenderten Frame alternierende, also hin- und herwechselnde Abtastmuster genutzt, die durch Trägheit des Auges und Nachleuchtzeit des Ausgabegerätes den Effekt erreichen sollen, die wahrgenommene Kantenglättung zu erhöhen.

Temporal Anti-Aliasing
Temporal Anti-Aliasing

Wie man hier unschwer erkennen kann, sind die jeweiligen Subpixelmasken für ein einzelnes Bild mit Ausnahme des 2xTAA überaus suboptimal. Wenn man sich aber das zusammengesetzte Bild anschaut, so hat man quasi ein effektiv doppelt so gut geglättetes Bild, wie mit der Ausgangsstufe des FSAA.

Das Problem an der Sache ist, dass man dafür eine möglichst hohe Bildwiederholrate braucht, damit die Kantenpixel nicht hin- und herspringen. Das passiert, individuell unterschiedlich zwischen ca. 40 und 60 Bildern pro Sekunde, wenn entweder Nachleuchtzeit des Monitors oder Trägheit des Auges nicht mehr langsam genug sind, um überlistet zu werden.

Weitere Details zum FSAA gab uns Rene Froelecke von ATi in einem Telefongespräch.

Der Registry-Hack, um Temporal-AA auch auf älteren Radeon-Karten zu aktivieren, sorgte schon für einigen Wirbel unter begeisterten und weniger begeisterten Usern. Momentan prüfe man noch, ob für dieses Feature bei den älteren Chips „genügend Leistungsreserven“ vorhanden seien. Unserer Meinung nach sollte man das von Fall zu Fall und User zu User selbst entscheiden lassen und den Schalter dafür einfach in die Treiber integrieren.

Ein weiteres Thema war Centroid-Sampling, welches in Bezug auf Half-Life2 schon für Wirbel sorgte und jetzt im neuen Compiler-Target 2.b, welches die zusätzlichen Möglichkeiten des R420 zugänglich macht, offiziell unterstützt werden wird. Für Freunde des Supersampling-FSAA wird es aber weiterhin mau aussehen. Obwohl für ältere Spiele durchaus genügend Rohpower vorhanden wäre, will man angesichts unzureichender Userwünsche über das Catalyst-Feedback Programm, vorerst keine Ressourcen auf diese FSAA-Methode, die auch die immer noch oft verwendeten Alpha-Test Texturen glättet, verwenden.

3Dc
Ein recht unscheinbares Kürzel, hinter dem sich nicht die deutsche Webseite 3D-Center verbirgt, sondern eine neuentwickelte Art der Normal-Map Kompression.

3Dc The Problem Capturing Fine Detail
3Dc The Problem Capturing Fine Detail
Creating Normal Maps
Creating Normal Maps
How 3Dc Works
How 3Dc Works

Normal Maps sind im Grunde genommen Texturen und werden, vereinfacht gesagt, dazu eingesetzt, um Objekte mit wenigen Polygonen unter Beleuchtung ähnlich detailiert erscheinen zu lassen, als wären sie aus einem Vielfachen der Dreiecke zusammengesetzt. Hierfür werden Vektoren in der Normal Map gespeichert, die die Richtung angeben, in die eine Oberfläche, auf die später Normal Mapping angewandt werden soll, zeigt. Herkömmliche Kompressionsverfahren, wie DXTC sind hierfür nur wenig geeignet, aufgrund der Art des Verlustes an Bildinformation. Sie wurden schlicht dazu entworfen, Farb-Texturen bei akzeptablem Qualitätsverlust zu schrumpfen.

3dc hingegen ist ein von ATi enwickeltes Open-Source Verfahren, welches speziell für diese Zwei-Komponenten Vektoren zugeschnitten wurde. Mit einem Schrumpfungsfaktor von 4:1 hat man bei 3dc die Optionen entweder viermal so hoch aufgelöste Normal Maps zu verwenden oder den Speicherverbrauch auf ein Viertel der ursprünglichen Größe zu reduzieren.

Normal Maps
Normal Maps
Normal Maps 2
Normal Maps 2

Auf diesem Bild und dem zugehörigen Detail-Shot kann man die theoretisch möglichen Verbesserungen durch 3dc erkennen. Die feinen Strukturen im Nacken und auf der Rüstung des Kämpfers aus der Serious Sam 2 Demo sind deutlich detailierter aufgelöst.

Der Nachteil an dieser Lösung ist allerdings, dass sowohl der Game-Developer dieses Feature explizit unterstützen muss, indem ein Satz komprimierter Normal Maps dem Spiel beiliegt und dass für die Normal-Map Berechnungen via 3dc zusätzlicher Aufwand für die Pixelshader entsteht.

ATi kooperiert bereits mit einigen Herstellern zur Integration dieses Features. Wie nicht anders zu erwarten, ist Valve an vorderster Front dabei, aber auch CroTeam, Firaxis und Ritual Entertainment stehen mit auf der Liste.

Videoshader und Kommentar

Videoshader HD

Radeon X800 Video
Radeon X800 Video

Wenn man schon 16 Pipelines mit Pixelshader-Funktionalität mit sich herumschleppt, müssen die ja auch noch zu etwas anderem gut sein, schoss es uns direkt durch den Kopf. Falsch lagen wir damit zwar nicht, aber so ganz komplett war unsere Idee auch nicht.

Auf Nachfrage gab ATi an, schon seit der Radeon 9700 Pro ausschließlich Pixelshadereinheiten für jegliche Video-Beschleunigung heranzuziehen. So habe man keinerlei spezialisierte Hardware im Chip, die sich mit Motion Compensation, inverse Discrete Cosinus Transformation, adaptivem De-Interlacing oder Videokodierung beschäftige - alles sei über die Pixelshader gelöst.

Ein sinnvoller Ansatz, wenn diese denn mächtig genug sind, die Aufgaben auszuführen, aber diesbezüglich muss man bei der X800 Serie wohl keine Sorgen haben und zugleich eine der Erklärungen für die relativ geringe Komplexität des mit 160 Millionen Transistoren bestückten Chips.

Neben den schon bekannten Kodierfeatures für DivX und Real-Media wird man bei der X800 aber einen Schritt weitergehen und auch hardwaregestütztes Encoding für Windows Media 9 anbieten.

Dazu gesellt sich noch die dieser Tage besonders in den USA angesagte HDTV-Unterstützung, bei der die X800 gegenüber der 9800XT nochmals knapp 10% an Leistung zulegen konnte.

Fazit
Nach dem mächtigen Paukenschlag, den nVidia mit der GeForce 6800 Ultra landen konnte, sahen viele ATi schon in argen Nöten. Zu Unrecht!

Dank fortschrittlicher Prozesstechnologie und dem Einsatz von low-K Dieelektrika bei TSMCs Fertigung kann, ersten Benchmarks zufolge, die des Nachts durch unser Forum [3] geistertender schlankere Chip die Nachteile, die er aufgrund seiner nunmehr zwei Jahre alten, grundlegenen Architektur hat, durch hohe MHz-Zahlen wettmachen.

Erstaunlich dabei bleibt die Leistungsaufnahme, die deutlich unterhalb der GeForce 6800 Ultra in etwa auf dem Niveau des Vorgängers 9800 XT gehalten werden konnte.

R420 Chip von oben und unten
R420 Chip von oben und unten

Dadurch bedingt kann ATi ihrer bisherigen Linie treu bleiben und auch im High-End Bereich weiterhin Single-Slot Kühlung und moderate Leistungsaufnahme anbieten. Inwieweit diese Angaben jedoch in der Praxis umsetzbar sind, ob man beispielsweise den ersten PCI-Slot auch wirklich nutzen kann oder ob er nur nominell frei bleibt, werden hoffentlich bald die ersten Tests zeigen.

Einen schönen „Ruby Tuesday“ noch - für ATi ist er mit Sicherheit gelungen!

Nachtrag:
Preise
ATi gibt offizielle Preisvorstellungen von 399 US-Dollar für die X800 Pro und 499 US-Dollar für die X800 XT an. Darin sind noch keine Steuern enthalten und auch nicht der übliche Europa-Zuschlag, der auf dieser Seite des Atlantiks für jede Hardware gezahlt zu werden scheint.
Damit liegt man preislich gesehen nicht gerade am günstigeren Ende, wenn man sich für ATi und gegen nVidia entscheidet, wenn Karten letzterer Firma sind in der Ultra-Version bereits um 530 Euro gelistet, wenn auch noch nicht verfügbar.

URL-Liste:

  1. http://www.computerbase.de/news/hardware/grafikkarten/ati/2004/april/bilder_atis_x800/
  2. http://www.3dcenter.org/artikel/cinefx/
  3. http://www.computerbase.de/forum/showthread.php?t=70987
Copyright © 1999–2012 ComputerBase GmbH