• Aktualisierte Forenregeln

    Eine kleine Änderung hat es im Bereich Forenregeln unter Abschnitt 2 gegeben, wo wir nun explizit darauf verweisen, dass Forenkommentare in unserer Heftrubrik Leserbriefe landen können.

    Forenregeln


    Vielen Dank

G80-ROPs: Doch anders als gedacht?

pcgh_Carsten

Anwärter/in
Registriert
26.08.2005
Beiträge
38
Reaktionspunkte
0
Könnten die ROPs des G80 ebenfalls eine neuartige Auslegung besitzen, wobei Transistoren deutlich effizienter verwendet werden, als in bisherigen Nvidia-Chips?


Zur Vorgeschichte:
Die sechs ROPs (Raster-Operatoren oder Render-Backends) des G80 können jeweils vier Pixel pro Takt komplett, also inklusive Farb- und Tiefenwerte sowie 4x MSAA, ausgeben. Alternativ besteht die Möglichkeit, bis zu 32 reine Tiefentests durchzuführen. Zerlegt man die normale Operation, wie schon im Shader, in "Skalare", teilt sie also in die einzelnen Kanäle R, G, B und A auf, so sind es bereits 16 Operationen, die pro Takt durchgeführt werden. Bisherige Geforce-Karten ab der 5800u hatten einen speziellen Modus, in dem Sie doppelt soviele Z-Werte berechnen können wie Farben.

16x2 sind 32 - die Zahl, die der G80 pro ROP-Einheit und Takt erreichen kann. Ein schöner Zufall. Sind eventuell die Alpha-Blender in den ROPs auch so flexibel, wie die Shader-ALUs und können statt Vec4 auch im Skalar-Modus für Z-Tests zweckentfremdet werden?


Zum Beispiel deuten diese Werte, die ich im Rahmen des Geforce-8-Tests mit den Release-Treibern gewonnen habe, darauf hin, dass Early-Z-Rate bzw. Z-/Stencil-Operationen ziemlich gut mit dem Faktor von 2-AA-Samples (4xAA halbiert, 8xAA viertelt die Werte) skalieren.

Code:
Z-Overdraw (nonatainment-Tool)
kein FSAA	0 Tex
1.024x768       38.007
2.560x1.600     38.623

2x FSAA	0 Tex
1.024x768	27.170
2.560x1.600	27.253

4x FSAA	0 Tex
1.024x768	20.650
2.560x1.600	 8.097

8x FSAA	0 Tex
1.024x768	10.821
2.560x1.600x16	 5.840
2.560x1.600	 2.729
Ergebnisse in verworfenen Megapixeln/Sek.

Bei 2.560 und 4xAA geht wohl ein Zwischenspeicher aus...

Passend dazu:
Code:
FableMark (PoweVR)
          kein FSAA	4x FSAA	8x FSAA
1.024x768	279	159	90
1.600x1.200	123	74	42
2.560x1.600	59	29	13
Ergebniss in Fps

Das alles könnte allerdings auch noch ein reines Treiberproblem sein.
 
Ich bin jetzt nicht so der Techniküberflieger .... eine kurze Beschreibung der Problematik für einen 37 jährigen alten Sack in einfacher deutscher Sprache würde ich ganz reizend finden :-D
 
pcgh_carsten am 08.01.2007 13:59 schrieb:
Könnten die ROPs des G80 ebenfalls eine neuartige Auslegung besitzen, wobei Transistoren deutlich effizienter verwendet werden, als in bisherigen Nvidia-Chips?

Moechtest du uns damit sagen, dass man die Karte ggf. auch fuer andere Berechnungen verwenden koennte?

Wenn ja, dann versteh ich alles nach dem ersten Absatz nicht.

Wenn nein, verstehe ich gar nichts.
 
bogus6 am 08.01.2007 14:44 schrieb:
pcgh_carsten am 08.01.2007 13:59 schrieb:
Könnten die ROPs des G80 ebenfalls eine neuartige Auslegung besitzen, wobei Transistoren deutlich effizienter verwendet werden, als in bisherigen Nvidia-Chips?

Moechtest du uns damit sagen, dass man die Karte ggf. auch fuer andere Berechnungen verwenden koennte?

Wenn ja, dann versteh ich alles nach dem ersten Absatz nicht.

Wenn nein, verstehe ich gar nichts.


So in etwa habe ich das auch aufgefasst. Dennoch verstehe ich ned allzu viel :D

Finde es aber gut, das die Redis neuerdings aktiver im Forum unterwegs sind :top:

Gruß

Hombre
 
Die ROPs sitzen logisch gesehen am Ende der Pipeline. Hier werden FSAA, Tiefentests und (Alpha-)Blending gemacht. Normalerweise gibt es jeweils separate Logik für Z-Berechnungen (Tiefentests), FSAA und Blending.

Meine Idee - wie gesagt, mehr ist es momentan nicht und vielleicht ist es auch völliger Quatsch - ist nun, dass diese Logik beim G80 nicht mehr getrennt vorhanden ist, sondern Blender, Z-/AA-Logik kombiniert vorliegt.

Da man durch die Blender ja sowieso die vier Komponenten R, G, B und A benötigt, könnte man bei entsprechender Auslegung diese ja auch nutzen, um jeweils einen weiteren Tiefentest durchzuführen. Damit spart man sich, die Tiefentest- und FSAA-Einheit entsprechend mehrfach auszulegen und im Blender sind die vier Kanäle (4xSIMD) sowieso nötig.

Das hätte den Vorteil, dass man insgesamt wahrscheinlich weniger Transistoren benötigt, als wenn man zusätzlich zu den Blendern Z und AA vierfach auslegt.

Sinnvolerweise wäre die Logik auch komplett geteilt, sodass man - wie in den Shader-Einheiten auch, mit einzelnen 16-, 32- oder 64-Bit-Werten hantieren kann, ohne noch an RGBA oder Z gebunden zu sein. Ob das technisch so machbar ist, ist allerdings eine andere Frage, die wir gerade zu klären versuchen.

Aufgrund der Ergebnisse (besonders in 1.024) scheint jedenfalls die Leistung des Chips (die synthetische Leistung wohlgemerkt!) ziemlich linear mit der Anzahl der AA-Samples zu skalieren - eine reine Bandbreitenlimitierung dürfte sich aufgrund der Kompression nicht so linear bemerkbar machen.
 
Zurück