Was machen ROPs ?

Pict

Lt. Commander
Registriert
Apr. 2008
Beiträge
1.355
Hi all,

mir ist aufgefallen das die Anzahl von ROPs (Raster Operation Units wenn ich mich nicht irre) auf Grafikkarten weniger wird im Vergleich zu den letzten 3 Jahren. Die GTX 570 hat 40 ROPS, GTX 580 sogar 48. Die momentane AMD Generation und GTX 770 haben 32 doe 780 und Titan jedoch wieder 48. Ich nehme mal an das diese ROPs nicht den Ausschlag zur Leistung der GPU geben, jedoch verstehe ich nicht ganz was ROPs überhaupt machen und warum manche Karten heute weniger ROPs haben (effizienz vlt ?) und high end Karten doch wieder mehr.

Danke für Informationen zum Thema.
 
Bildsynthese, mit Hilfe von mindestens einem Raster Operation Processor (ROP), auch bekannt als Render Output Unit oder Raster Operations Pipeline

Laut wiki...
 
Die Graphikpipeline auf GPUs sieht vereinfacht in etwa so aus:
Vertexshader: Berechnet für jede Ecke eines Dreiecks einzeln wo es auf dem Bildschirm abgebildet wird. Diese sind als Unified-Shader implementiert und relativ frei programmierbar.
Rasterisierer: Dieser nimmt jeweils die vom Vertexshader transformierten Ecken her, führt das Clipping am Frustrum - also dem Sichtkegel der Kamera- aus. Anschliessend werden die Pixel berechnet, die das Dreieck auf den Bildschirm bedeckt. Für jeden Pixel bzw. Fragment, wird nun ein Fragmentshaderprogramm ausgeführt. Der Rasterisierer ist eine Spezialhardware, welche allerdings nur etwas konfigurierbar und nicht programmierbar ist.
Fragmentshader: Dieser berechnet für jedes Fragment nun die Farbe, welcher der Pixel später auf den Bildschirm besitzen soll. Diese Farbe leitet er mitsamt dem Tiefenwert an die ROP weiter. Fragmentshader sind wiederum relativ frei programmierbar und als Unified-Shader implementiert.
ROPs: Diese sind die finale Stufe in der Pipeline. Für jedes Fragment, das aus dem Fragmentshader kommt, wird zuerst ein Tiefentest (Early-Z vernachlässige ich mal) ausgeführt. Hier wird der Tiefenwert an der Stelle des entsprechenden Pixel aus dem Tiefenbuffer bzw. DRAM geholt und mit dem Wert des zu schreibenden Fragments verglichen. Besteht es den Tiefentest so findet das Blending statt: Hier wird die Farbe an der stelle des entsprechenden Pixels aus dem Farbbuffer bzw. DRAM geladen. Dann wird diese Farbe mit der Farbe des zu schreibenden Fragments mit einer Blendfunktion zu einer neuen Farbe kombiniert, welche dann letztendlich in den Farbbuffer bzw. DRAM zurückgeschrieben wird. Diese Rops sind wiederum Spezialhardware, welche man nur konfigurieren kann.

Die ROPs sind also vereinfacht dargestellt dafür verantwortlich, die von den Fragmentshadern berechneten Farbwerte zurück in den DRAM zu schreiben. Ihre Leistung wird in den entsprechenden Dokumentationen durch die Pixel-Fillrate beschrieben. Es gilt hierbei:
Fillrate = Takt * ROPS

Ein generelles Problem bei Spezialhardware ist, dass jede fallabhängig die Performance limitieren kann. Zeichnest du wenige große Dreiecke mit einfachen Shadern, so kommen die ROPs mit dem Zurückschreiben der Fragmente nicht mehr nach; die Performance ist also nur von der Leistung der ROPs abhängig. Zeichnest du allerdings Dreiecke mit sehr komplexen Shadern, so kommen diese Unified-Shader mit dem Berechnen nicht mehr hinterher; die Leistung der ROPs hat keinen Einfluss auf die Performance. Aus diesen Gründen ist der Einfluss dieser Fillrate auf die Performance sehr stark fallabhängig.

Zu der Skalierung der ROP-Leistung: Die für das zeichnen eines Bilds benötigte Fillrate ist in den meisten Anwendungen hauptsächlich von der Auflösung und nicht von dem Detailgrad der Szene abhängig. Da die Auflösung der Monitore weitestgehend stagniert, stagniert die Fillrate ebenfalls.
 
  • Gefällt mir
Reaktionen: Shaav
Da es, soweit ich jetzt sehen konnte, noch nicht erwähnt wurde: ROPs sind auch für die AA-Leistung einer Grafikkarte relevant. Als Beispiel kann man hier den Vergleich zwischen 5830 und 5850 anführen. Während die 5830 bei 1680x1050 ohne AA nur etwas mehr als 14 Prozent hinter der 5850 liegt (die 2/7tel mehr Shader, aber auch einen geringeren Takt hat), bricht die 5830 bei steigender Auflösung und steigender AA-Zuschaltung wesentlich stärker weg. Das liegt daran, dass sie nur 16 ROPs hat, die 5850 aber 32.
 
Zuletzt bearbeitet:
Die FSAA Leistung steckt mehr oder weniger bereits in der Auflösung mit drinnen, da bei den meisten FSAA-Techniken das Bild in einer höheren Auflösung gerendert und dann herunterskaliert wird.
 
Japp, aber ich dachte mir, dass das der TE so am deutlichsten versteht.
 
Danke für die Ausführungen über das stagnieren.
 
Zurück
Oben