|
ATIs R420 im Detail
SmartShader HD
VertexShader
In den VertexShader hat ATI einige kleine Verbesserungen
einfließen lassen, so verwendet man statt 4 nun 6 parallele
VertexShader-Einheiten. Es können bis zu 12 VertexShader
Ops pro Taktzyklus berechnet werden. Zudem wurde das Looping
und Branching etwas effizienter gestaltet. Neu sind die Single
cycle trigonometric operations (SIN & COS). Leider geht
aus den uns vorliegenden Dokumentationen nicht hervor, ob
entweder „Sin oder Cos" pro Takt oder beide simultan
berechnet werden können.
Mit über 750 Mio. vertices pro Sekunde hat ATI die Vertexshader-Leistung
zu der Radeon 9800 nahezu verdoppelt.
  
PixelShader
ATI
hat weiterhin an der 2.0 Variante von PixelShader und VertexShader
festgehalten und nicht wie nVidia auf die neuere Version 3.0
gewechselt. Ein sehr großer Grund, weshalb sich ATI
weiterhin für die 2.0 Spezifikation entschieden ist der,
dass durch PS und VS 3.0 keinerlei Vorteile in der Bildqualität
bestehen, es lassen sich lediglich größere Shader-Programme
leichter integrieren.
Auch ATI hat beim R420 nicht geschlafen und den PixelShader
des R420 deutlich aufpoliert, um so die bestmögliche
Performance in den kommenden Direct X 9 und OpenGL 1.5 Games
zu bieten.
 
Die wichtigsten Änderungen
werden wir einmal kurz zusammenfassen:
Das Temporary Register wurde von 12 auf nunmehr
32 erweitert, zusätzlich wurde ein Facing Register für
two-sided lighting hinzugefügt. Die Architektur wurde
so ausgelegt, dass auch mit allen Registern die maximale Leistung
möglich ist.
Die maximalen Instruktionen betragen nun 1534 Ops/Shader und
setzen sich wie folgt zusammen:
- 512 vector
- 512 scalar
- 512 texture
Die R3x0 Serie verfügt nur über
64 Vec3 + 64 Scalar + 32 Tex = 160 Ops/Shader.
Microsofts DirectX 9 macht leider keinen Unterschied zwischen
Scalar/Vec2/Vec3/Vec4 Operationen, so dass unter DX maximal
64A + 32T Ops genutzt werden können. Die vollen 160 Ops
kann man somit nur unter OpenGL nutzen.
 
Der neue F-Buffer soll über ein verbessertes
Speichermanagement verfügen. Den F-Buffer hat ATI mit
dem R350 (Radeon 9800 Pro) eingeführt, um so die Begrenzung
der Pixel-Shader Instruktionen, die pro Pixel bearbeitet werden
können, aufzuheben.
Allerdings ist dies mehr für die Filmindustrie interessant,
welche teilweise 3000 bis 4000 Instruktionen pro 2 bis 3 Sekunden
eines Filmeffektes verwendet.
In der Spiele-Praxis wird der F-Buffer allerdings eher eine
untergeordnete Rolle spielen, denn die Entwickler werden sich
eher an die DirectX9 - Vorgaben halten.
Weitere Infos über den F-Buffer sind
bei der Stanford
University zu finden. Zum Schluss hat man noch das Handling
mit Multipass Shadern verbessert, wodurch sich nun komplexe
Pixel Shader Operationen leicht verarbeiten lassen.
|