PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Kostenloses MSAA - wie müsste die Rohleistung einer GPU aussehen?


AnarchX
2010-10-14, 14:34:00
Xenos in der Xbox360 mit seinen ROPs an einem 10MiB eDRAM mit für 2005 astronomische 256GB/s wurde ja die kostenlose Berechnung von 4x MSAA nachgesagt. In der Realität wurde aber dann bekanntlich die Größe dieses eDRAMs zum Problem und der Vorteil konnte nur durch die schwierige Zerlegung des Bildes in Tiles gewährt werden.

Mit der GF100-Architektur beseitigte Nvidia nun praktisch den Rasterizer-Flaschenhals, sodass diese Leistung nun auch frei skalierbar ist.

Auf dieser Basis stelle ich mir die Frage, wie denn nun die Verteilung der Rohleistung zwischen ROPs, ALUs, TMUs, Rasterizer und Bandbreite aussehen müsste, damit eine GPU zum Beispiel 4x MSAA ohne Performanceeinbruch gegenüber 1xAA berechnen kann.
Im absoluten Worst-Case mit einer Polygon-Kante in jedem Pixel, dürfte die Leistung 4x SGSSAA entsprechen, aber das ist wohl vorerst kein häufiger Fall.

Gast
2010-10-14, 14:51:20
Das dürfte sinnvoll nicht möglich sein.
MSAA muss an Kantenpixeln immer mehr Subpixel berechnen, was zwangsweise Leistung kostet, es sei denn der Chip ist dermaßen unbalanciert, dass die Auslastung extrem schlecht ist und ein großer Teil nur Däumchen dreht.

4xMSAA entspricht übrigens nicht 4xSSAA für den Spezialfall, dass alle Pixel Kantenpixel wären.

Pro Polygon in einem Pixel wird immer nur 1 Farbwert berechnet, egal ob dieser dann auf 1 oder 16 Multisamples verteilt wird.

Bei 2 Polygonen für jedes Pixel brauchen wir also trotzdem nur 2 Farbwerte berechnen, auch wenn 8xMSAA verwendet wird.

Dass jedes Pixel mehrere Polygone hat ist zwar reichlich unwahrscheinlich, aber mit Tesellation sollte die Anzahl der Kantenpixel erheblich zunehmen und damit logischerweise die relative AA-Performance verringern.

Dagegen "helfen" würden nur höhere Auflösungen, die natürlich absolut zu einer geringeren Performance führen würden, aber den relativen Einbruch mit AA (und natürlich auch mit Tesselation) verringern würden.

NaseWeiss
2010-10-15, 12:19:58
Ich würde eine GTX480 mit einem Athlon X2 5000+ betreiben, dann hat jede Steigerung der AA Modi keinen Einfluß mehr auf die FPS :D

OBrian
2010-10-16, 19:24:31
Die Frage ist doch, will man kostenloses MSAA überhaupt? Das würde ja bedeuten, daß die Chipteile, die dafür verantwortlich sind, überdimensioniert sind, d.h. oft nicht ausgelastet sind, Damit sinkt die Effizienz des ganzen Chips, d.h. zuviel Diefläche, zuviel Abwärme usw. in Relation zur preisbestimmenden Gesamtleistung.

Statt also MSAA für umsonst sollte man aus ökonomischen Gründen lieber einen Chip bauen, der MSAA zwar recht gut kann (weil es oft genutzt wird), aber dabei ruhig etwas einbricht. Die gesparte Diefläche nutzt man dann besser für eine gleichmäßige Vergrößerung der Chipkapazitäten oder für einen kleineren und damit sparsameren und vor allem billiger herzustellenden Chip. MSAA wird ja nicht immer genutzt, gerade bei besonders fordernden Spielen oder bei Deferred Renderern oder einfach auf Monitoren mit hoher Auflöung und relativ großem Betrachtungsabstand wird es oft eben nicht eingeschaltet, in solchen Fällen sollte der Chip aber auch noch gut arbeiten.

Sowas ist viel wichtiger als MSAA for free. Wenn man mal überlegt, war jeder deutlich ineffiziente da unausgewogene Chip relativ unangenehm für den Hersteller. Z.B. der legt G100 zuviel Wert auf GPGPU-Fähigkeiten, was bei den neueren Chips reduziert wurde, mit gutem Resultat. Oder der R600 mit 512bit-Interface, der Nachfolger 3870 war schneller mit der halben Breite. Der aktuelle Schritt bei AMD von 5D- auf 4D-Shader steigert auch die Effizienz, obwohl es in wenigen Fällen auch etwas Leistung kostet - aber die 5. Dimension for free wie bisher war offensichtlich einfach unnötig und kontraproduktiv.

aths
2010-10-17, 15:42:35
Ich glaube nicht dass es besonders sinnvoll ist, MSAA "for free" (oder fast for free) zu implementieren. Wichtig ist doch, dass die Endleistung – mit MSAA – ok ist. MSAA braucht mehr Bandbreite und etwas mehr Füllrate. Würde man die Bandbreiten- und ROP-Erfordernisse komplett an 4x MSAA anpassen, verbraucht das Transistorfläche die man vielleicht woanders hätte noch besser nutzen können. Einige Spiele (wie Starcraft 2 ab Detail-Level "High") können nicht mehr normales Multisampling machen da Deferred Rendering zum Einsatz kommt. Dann wäre es so oder so auch wieder nicht "for free".