Archiv verlassen und diese Seite im Standarddesign anzeigen : Xbox360: MSAA for free//aus Wann AA und AF fest in Hardware?
AnarchX
2006-07-21, 08:02:08
Bei der XBox 360 ist ja das FSAA fast for-free dank des eDRAM.
drmaniac
2006-07-21, 08:47:47
au au. wenn das J3sus oder ein bestimmter Gast :D liest, fängt hier die Klopperei an... (wegen der xb360 und dem versprochen aa for free). ;)
AnarchX[/POST]']Bei der XBox 360 ist ja das FSAA fast for-free dank des eDRAM.So ganz "for free" scheint es dann aber doch nicht zu sein. ;)
Doch ist es - solange der VRAM für die Auflösung reicht.
Was zumindest in der normalen TV-Auflösung völlig unverständlich ist. Der eDRAM kann schließlich nur als Framebuffer benützt werden.
AnarchX
2006-07-21, 17:06:33
Wieviel eDRAM bräuchte man denn für 1280x1024 32bit mit 2xMSAA?
Wie teuer ist etwa heute noch ein 1MB eDRAM?
deekey777
2006-07-21, 21:48:21
AnarchX[/POST]']Wieviel eDRAM bräuchte man denn für 1280x1024 32bit mit 2xMSAA?
Wie teuer ist etwa heute noch ein 1MB eDRAM?
http://www.beyond3d.com/articles/xenos/index.php?p=05#tiled
Das eDRAM ist der Back-Buffer, die 10 MiB reichen nicht aus.
Hier ist ein interessantes Posting bzw. ein ganzer Thread:
http://www.beyond3d.com/forum/showthread.php?t=31546
Coda[/POST]']Was zumindest in der normalen TV-Auflösung völlig unverständlich ist. Der eDRAM kann schließlich nur als Framebuffer benützt werden.
Dieses Posting bezieht sich auf ein Posting eines gesperrten Users, das getrasht wurde.
Coda[/POST]']Doch ist es - solange der VRAM für die Auflösung reicht.Das tut er eben nicht. Nichteinmal 2xAA passt bei 720p in den eDRAM.
RavenTS
2006-07-23, 11:36:15
hyperterminal[/POST]']AA und AF kann bei einigen aelteren Spielen Bildfehler verursachen und sollte deswegen immer frei einstellbar sein.
Hm.?! Bist du dir sicher? Spiele ja häufig "ältere" Sachen und hatte eigentlich nocht nie Probleme damit. SSAA sollte ja eh keine Probleme machen und MSAA und AF versteh ich auch nicht, warum das problematisch sein soll.?!
Ailuros
2006-07-23, 11:53:18
Coda[/POST]']Doch ist es - solange der VRAM für die Auflösung reicht.
Der Gast hat hier recht. 2x und 4xMSAA passt in die 10MB eDRAM von Xenos mit 720p nicht mehr rein, wenn kein (macro-) tiling angewendet wird.
2x und 4xMSAA ohne macro-tiling passen dann nur noch in 640*480 in eDRAM. Und der wichtigste Punkt des oben gelieferten Links zum B3D Artikel liegt hier:
Tiling mechanisms can operate in a number of ways. With immediate mode rendering (i.e. the pixels being rendered are for the same frame as the geometry being sent) it is never known what pixels the geometry is going to be mapped to when the commands begin processing. This is not known until all the vertex processing is complete, setup has occurred and each primitive is scan converted. So if you wanted to tile the screen with an immediate mode rendering system, the geometry may need to be processed, setup and then discarded if it is found not to relate to pixels that are to be rendered in the current buffer space. The net result here is that geometry needs to be recalculated multiple times for each of the buffers.
Und hier wird wohl das Fettgedruckte nicht unbedingt jedem Entwickler genau schmecken. Das soll jetzt nicht heissen dass Xenos nicht weit mehr Chancen fuer MSAA haben wird als konkurrierende Loesungen, aber so ganz "for free" ohne jegliche Beschraenkungen ist es wohl doch nicht.
***edit: da ich die Referenz zu TBDRs aus dem Artikel ausgelassen habe, afaik benutzen heutige TBDRs ein macro-/micro tiling System, wobei aber die Not Geometrie fuer AA mehrere Male zu berechnen entfaellt (ausser es werden irgendwelche AA modi angewendet fuer die die HW nicht optimiert wurde). Der primaere Zweck ist hier den Speicherverbrauch fuer das binning zu vermindern.
Ailuros[/POST]']Der Gast hat hier recht. 2x und 4xMSAA passt in die 10MB eDRAM von Xenos mit 720p nicht mehr rein, wenn kein (macro-) tiling angewendet wird.
2x und 4xMSAA ohne macro-tiling passen dann nur noch in 640*480 in eDRAM. Und der wichtigste Punkt des oben gelieferten Links zum B3D Artikel liegt hier:
zumindes 2xFSAA in 1280x720 passen ohne probleme in die 10MiB, 4xAA ist ohne tiling allerdings nicht mehr möglich.
Neomi
2006-07-23, 20:40:56
Gast[/POST]']zumindes 2xFSAA in 1280x720 passen ohne probleme in die 10MiB
Klar, solange man auf den Z-Buffer verzichten kann...
Mit 32 Bit Farbtiefe und nochmal 32 Bit für Z und Stencil kommt man bei 1280x720 auf genau 7372800 Bytes Speicherbedarf. 2x FSAA verdoppelt den Speicherbedarf, paßt also nicht mehr rein.
Ailuros[/POST]']Der Gast hat hier recht. 2x und 4xMSAA passt in die 10MB eDRAM von Xenos mit 720p nicht mehr rein, wenn kein (macro-) tiling angewendet wird.
Klar hat der Gast recht, aber Coda ebenso. Er hat an keiner Stelle gesagt, daß es bei den HD-Auflösungen passen würde, sondern daß MSAA gratis ist, wenn der Speicher reicht.
AnarchX
2006-07-23, 20:42:33
Was ist eigentlich nun der Vorteil von eDRAM, wenn man es nichtmal für FSAA-for-free nutzen kann?
AnarchX[/POST]']Was ist eigentlich nun der Vorteil von eDRAM, wenn man es nichtmal für FSAA-for-free nutzen kann?Die PS2 kann auch kein FSAA-for-free trotz ihres eDRAMs, trotzdem profitiert sie enorm von der dadurch bereitgestellten Bandbreite. Wie PS2-Games ohne das eDRAM aussehen würden willst du glaube ich nicht wissen. Auch die 360 profitiert enorm von ihrem eDRAM - aber eben hauptsächlich in den Auflösungen, für die ihre Hardware entwickelt wurde. Da ist bei ihr dann auch FSAA-for-free drin. Sollte MS von seiner HD-muss-sein-Richtlinie abkommen könnten wir weit schmackhaftere Grafik bekommen. Höchstwahrscheinlich auch weit schmackhafter als bei der PS3, da ihr eben das eDRAM fehlt, dafür ist die eben besser für einfachere Grafik bei höherer Auflösung geeignet, da sie eben nicht von beschränkter eDRAM-Größe eingeengt wird und mehr herkömmliche Bandbreite hat.
Jesus
2006-07-23, 23:25:23
Coda[/POST]']Doch ist es - solange der VRAM für die Auflösung reicht.
Spricht nicht selbst ATI von einem 3-5% hit?
Überdies gibts sowas auch von NV :)
http://www.hardocp.com/images/articles/1119063771Y3O0GyEDBw_4_9_l.jpg
http://www.hardocp.com/images/articles/1119063771Y3O0GyEDBw_4_10_l.jpg
_________-
@Gast Posting vorher: eDRAM != eDRAM
drmaniac[/POST]']au au. wenn das J3sus oder ein bestimmter Gast :D liest, fängt hier die Klopperei an... (wegen der xb360 und dem versprochen aa for free). ;)
:ulol5:
Jesus[/POST]']Spricht nicht selbst ATI von einem 3-5% hit?
Nö. Es ist umsonst. Die Bandbreite reicht für 4 Samples aus und die ROPs können es in einem Takt rausschreiben.
Jesus[/POST]']Überdies gibts sowas auch von NV :)
Super. Marketingfolien. CPU-Limitierte Spiele brechen in 720p mit AA kaum ein. Neuigkeiten und so...
Jesus[/POST]']@Gast Posting vorher: eDRAM != eDRAM Tja, das eDRAM in PS2 und Gamecube dient auch als Texturcache, in der 360 tuts das nicht, kümmert sich aber ums MSAA. Das wärs aber auch schon wieder. Generell wäre eDRAM für immer aktives FSAA positiv, aber für PC-übliche und HDTV-Auflösungen wird das momentan noch viel zu groß.
mike49
2006-07-23, 23:58:27
Coda[/POST]']Super. Marketingfolien. CPU-Limitierte Spiele brechen in 720p mit AA kaum ein. Neuigkeiten und so...
Jep, Marketing halt.
Allerdings sind sie nur CPU-limitiert, weil die Grafikkarten mittlerweile so schnell sind, daß man in 10x7 auch mit 4xAA noch an keine Limitierung seitens der GPU gerät ;)
Spasstiger
2006-07-24, 00:04:05
mike49[/POST]']Allerdings sind sie nur CPU-limitiert, weil die Grafikkarten mittlerweile so schnell sind, daß man in 10x7 auch mit 4xAA noch an keine Limitierung seitens der GPU gerät ;)
Trotzdem sagt es nichts darüber aus, wie die Grafikkarte mit MSAA einbricht, wenn die Framerate von der CPU limitiert wird.
Xenos in der Xbox 360 bricht theoretisch nie ein mit 4xAA, solange der Framebuffer in den eDRAM passt. Bei den Folien oben sieht man dagegen 17% Einbruch bei 720p im Falle von Doom 3. Bei Xenos würde es das nicht geben.
Und wenn man noch GPU-lastigere Spiele wählt, würde der Einbruch noch größer werden (siehe z.b. die 44% in den Nvidia-Folien).
Ailuros
2006-07-24, 00:06:07
Gast[/POST]']zumindes 2xFSAA in 1280x720 passen ohne probleme in die 10MiB, 4xAA ist ohne tiling allerdings nicht mehr möglich.
Komischerweise rechnete B3D ganze 14MB fuer 2xMSAA in 1280*720 aus. Schau Dir die Tabelle nochmal genauer an im Xenos-Artikel.
Ailuros
2006-07-24, 00:09:16
Neomi[/POST]']
Klar hat der Gast recht, aber Coda ebenso. Er hat an keiner Stelle gesagt, daß es bei den HD-Auflösungen passen würde, sondern daß MSAA gratis ist, wenn der Speicher reicht.
Wobei Entwickler fuer welcher genau Aufloesung entwickeln sollen fuer XBox360. Nicht vielleicht zufaellig fuer 720p. Es ist ja auch nicht so dass man MSAA ein- und ausschalten kann oder? Noch besser gefragt: wie viele der bisherigen Xbox360 haben bis jetzt das "freie" MSAA eingeschaltet?
deekey777
2006-07-24, 00:15:37
Ailuros[/POST]']Wobei Entwickler fuer welcher genau Aufloesung entwickeln sollen fuer XBox360. Nicht vielleicht zufaellig fuer 720p. Es ist ja auch nicht so dass man MSAA ein- und ausschalten kann oder? Noch besser gefragt: wie viele der bisherigen Xbox360 haben bis jetzt das "freie" MSAA eingeschaltet?
PGR3 glaube ich: 1024x576&2xMSAA.
In non-HD alle. Weil in 640x480 gibts eigentlich keinen Grund es aus zu lassen.
Ich hätte dem Ding einfach 16MiB eDRAM verpasst. Aber man muss ja knausern...
Ailuros
2006-07-24, 00:21:22
Coda[/POST]']Nö. Es ist umsonst. Die Bandbreite reicht für 4 Samples aus und die ROPs können es in einem Takt rausschreiben.
Super. Marketingfolien. CPU-Limitierte Spiele brechen in 720p mit AA kaum ein. Neuigkeiten und so...
720p ist aber wiederum auch nicht so anspruchsvoll was die Bandbreite betrifft. Wenn auf Xenos macro-tiling eingesetzt wird dann ist es tatsaechlich umsonst, minus aber stets der Wiederberechnung der Geometrie die IMO wenige Entwickler gern haben werden.
Eigentlich sind die Benchmarks sowieso verkehrt da sogar 8xAF dazukam, was eigentlich nicht den Leistungseinbruch von nur MSAA zeigt.
Die brennende Frage waere was NV genau im RSX mit AF angerichtet hat.
Ailuros
2006-07-24, 00:25:29
Coda[/POST]']In non-HD alle. Weil in 640x480 gibts eigentlich keinen Grund es aus zu lassen.
Ich hätte dem Ding einfach 16MiB eDRAM verpasst. Aber man muss ja knausern...
Ich hab um ehrlich zu sein die 360 nur auf einem 720p Bildschirm ausprobiert. Soll das heissen dass wenn ich das Ding an ein stinknormales CRT/TV-set@480p schnalle dass MSAA ploetzlich eingeschaltet wird (ehrliche Frage)?
Jesus
2006-07-24, 00:36:51
Ailuros[/POST]']Ich hab um ehrlich zu sein die 360 nur auf einem 720p Bildschirm ausprobiert. Soll das heissen dass wenn ich das Ding an ein stinknormales CRT/TV-set@480p schnalle dass MSAA ploetzlich eingeschaltet wird (ehrliche Frage)?
Hängt vom Spiel ab.
Spasstiger[/POST]']Xenos in der Xbox 360 bricht theoretisch nie ein mit 4xAA, solange der Framebuffer in den eDRAM passt.
Das ist ein Widerspruch in sich, aber theoretisch... :)
Ich poste das hier mal hier, passt vielleicht ganz gut:
http://www.watch.impress.co.jp/game/docs/20060426/3dhd.htm
Tile rendering has many performance demerits.
In games with many chracters like N3 the cost of overlapped geometry grows large unless LOD is implemented.
Lens effect, refraction, HDR effects such as bloom and glare, and other frame buffer filtering cause overlapped drawing near tile boundaries.
Objects that cross boundaries can't use the cache efficiently.
CPU L2 cache locking is practically unusable.
Since textures are stored in the shared 512MB RAM, regardless of the eDRAM size or use of tile rendering, texture lookup consumes the shared memory bandwidth. Normal mapping and shadow mapping require many texture lookups.
So the last resort is to use Display Controller to upscale the image without using tile rendering, for example rendering FP10-32bit / 960*540 / 2xMSAA / 32bit Z (8MB).
Developer A: Even 2xMSAA is not required by Microsoft anymore.
Developer B: FP10-32bit / 880x720 / 32bit Z / 2xMSAA (9.9MB) rendered to look right when upscaled to 16:9 is also possible.
Developer C: You can render it in a certain low-res then to display it you can create a 720p frame by your own shader. In converting the original low-res frame into a 720p frame by the shader you can do color dithering, which may result in smooth color expression or alleviation of the resolution deficiency in FP10.
Developer D: At any rate I want to reduce jaggies. Since the eDRAM pixel processor is penalty-free upto 4xMSAA, it will be interesting if it's fully exploited. Though it becomes 640x480 with 4xMSAA and FP10-32bit if it's not tile-rendered, aliasing-free images will be totally different from what we have seen in older games.
Ailuros[/POST]']Ich hab um ehrlich zu sein die 360 nur auf einem 720p Bildschirm ausprobiert. Soll das heissen dass wenn ich das Ding an ein stinknormales CRT/TV-set@480p schnalle dass MSAA ploetzlich eingeschaltet wird (ehrliche Frage)?Kommt aufs Spiel an. Manche aus der allerersten Generation laufen auch dann noch ohne MSAA (NFSMW), manche schaltens ein (GRAW) und noch andere skalieren die interne Renderauflösung dann einfach auf 640x480 (Chromehounds). So siehts jedenfalls aus, habs aber nur mal kurz ausgetestet über 640x480 am VGA-Kabel, könnte auch sein daß manches am TV anders reagiert (hier habe ich NFSMW in Verdacht).
Ailuros[/POST]']Ich hab um ehrlich zu sein die 360 nur auf einem 720p Bildschirm ausprobiert. Soll das heissen dass wenn ich das Ding an ein stinknormales CRT/TV-set@480p schnalle dass MSAA ploetzlich eingeschaltet wird (ehrliche Frage)?
Höchstwahrscheinlich ja.
Ailuros[/POST]']720p ist aber wiederum auch nicht so anspruchsvoll was die Bandbreite betrifft.
Wenn man nur ein 128-bit-SI hat...
Jesus[/POST]']Das ist ein Widerspruch in sich
Nö.
Ailuros
2006-07-24, 01:33:48
Gast[/POST]']Kommt aufs Spiel an. Manche aus der allerersten Generation laufen auch dann noch ohne MSAA (NFSMW), manche schaltens ein (GRAW) und noch andere skalieren die interne Renderauflösung dann einfach auf 640x480 (Chromehounds). So siehts jedenfalls aus, habs aber nur mal kurz ausgetestet über 640x480 am VGA-Kabel, könnte auch sein daß manches am TV anders reagiert (hier habe ich NFSMW in Verdacht).
So hab ich mir das auch in etwa vorgestellt, was aber weit von der Gerechtfertigung einer Generalisierung liegt dass 4xMSAA auf 360 tatsaechlich "for free" in allen Faellen ist.
Ailuros
2006-07-24, 01:45:03
Coda[/POST]']
Wenn man nur ein 128-bit-SI hat...
Dann muesste eine 7600GT in 1280*720 mit 4xMSAA verrecken, was aber nicht der Fall ist. Das Entwickler AA generell genauso wenig oder sogar weniger anwenden werden in Consolen-Spielen auf der PS3 ist dann ein anderes Kapitel.
***edit: ich bin zwar froh dass mehr AA als zuvor auf heutigen und kommenden Consolen moeglich ist, aber der Weg zu "always on" MSAA fuer Consolen ist noch ziemlich weit.
Ailuros
2006-07-24, 01:47:02
Coda[/POST]']
Nö.
Ein Widerspruch ist es zwar streng gesehen nicht, aber es bleibt dabei dass das "freie MSAA" nur unter Vorraussetzungen gilt.
Jesus hat rumgesponnen dass der eDRAM der Framebuffer ist. Der Framebuffer für die Software ist natürlich aber nur der Speicherteil der das Bild hält.
Ailuros
2006-07-24, 07:19:18
Coda[/POST]']Jesus hat rumgesponnen dass der eDRAM der Framebuffer ist. Der Framebuffer für die Software ist natürlich aber nur der Speicherteil der das Bild hält.
Fuer MSAA ist der eDRAM dann wohl schon der Framebuffer fuer Xenos. Das eDRAM Modul kann man aber trotzdem nicht insgesamt als Framebuffer ansehen. Der Link den er oben gepostet hat illustriert aber dann schon im relativen Sinn die Reaktion der Entwickler fuer MSAA auf der 360 (die pro/contras kann man ja sehen).
Wie dem auch sei, IMHO wird die 360 auch weiterhin von Entwicklern als Entwicklungs-platform bevorzugt werden, weil es eben leichter ist (nach sehr vielen Aussagen) fuer das Ding zu entwickeln.
deekey777
2006-07-24, 08:56:10
Coda[/POST]']Jesus hat rumgesponnen dass der eDRAM der Framebuffer ist. Der Framebuffer für die Software ist natürlich aber nur der Speicherteil der das Bild hält.
Ich wette, ich schreibe am Thema vorbei:
Das eDRAM ist der Backbuffer des C1 und wird immer genutzt, egal ob das Tiling benutzt, das MSAA hinzukommt oä.
DK777[/POST]']PGR3 glaube ich: 1024x576&2xMSAA.Nope, PGR3 nutzt ingame überhaupt kein Antialiasing.
Jesus
2006-07-24, 13:07:19
DK777[/POST]']Ich wette, ich schreibe am Thema vorbei:
Das eDRAM ist der Backbuffer des C1 und wird immer genutzt, egal ob das Tiling benutzt, das MSAA hinzukommt oä.
Jo, und trotzdem muss der Framebuffer da rein, egal ob mit oder ohne Tiling.
Madkiller
2006-07-24, 15:50:20
Coda[/POST]']Jesus hat rumgesponnen [...]
Solche Sticheleien sind hier nicht gern gesehen. Verzichte also in Zukunft darauf.
Jesus[/POST]']Jo, und trotzdem muss der Framebuffer da rein, egal ob mit oder ohne Tiling.
Ja und wo ist dann der Widerspruch in "Der Framebuffer muss ins eDRAM passen"?
Falsche Antwort: "Der eDRAM ist der Framebuffer".
Jesus
2006-07-24, 17:49:22
Coda[/POST]']Ja und wo ist dann der Widerspruch in "Der Framebuffer muss ins eDRAM passen"?
Falsche Antwort: "Der eDRAM ist der Framebuffer".
Naja ich bezog mich eigentlich auf die "Standardauflösung" 720p, dass er mit 640x480 ohne tiling passt ist wohl jedem klar, aber wer will das schon... :|
Ailuros
2006-07-25, 07:14:10
http://www.beyond3d.com/forum/showthread.php?t=32152
deekey777
2006-07-25, 12:02:27
Ailuros[/POST]']http://www.beyond3d.com/forum/showthread.php?t=32152
Einfach einen Link in die Diskussion reinwerfen kann jeder. ;(
(Mindestens 3 Leute aus diesem Thread kennen den von dir verlinkten, da er im Konsolen-Forum verlinkt (http://www.forum-3dcenter.org/vbulletin/showthread.php?p=4581684#post4581684) wurde.) Und was Nutella ist, wissen wir. ;) :)
Worauf willst du hinaus?
TheCounter
2006-07-25, 12:10:10
Jesus[/POST]']Jo, und trotzdem muss der Framebuffer da rein, egal ob mit oder ohne Tiling.
Anscheinend muss er das nicht, wenn man will (Link ist im Beyond3D Forum zu finden):
The hardware supports up to 4X MSAA. However, developers can perform supersampling and hence render to a larger frame buffer as an alternative. This would be done in software. An important thing to understand is that most games end up turning anti-aliasing off due to the performance penalties from standard architectures. With Xbox 360 we designed the GPU from the ground up so that enabling anti-aliasing would not create any performance hit for developers.
http://interviews.teamxbox.com/xbox/1190/Xbox-360-Interview-Todd-Holmdahl/p4/
Vielleicht ist das auch die Methode die Valve verwenden will? Allerdings müsste diese doch deutlich langsamer sein als wenn man über den eDRAM mit tiling geht da man ja vieles in Software machen muss.
Jesus
2006-07-25, 15:12:16
TheCounter[/POST]']Vielleicht ist das auch die Methode die Valve verwenden will? Allerdings müsste diese doch deutlich langsamer sein als wenn man über den eDRAM mit tiling geht da man ja vieles in Software machen muss.
Das ist reines Marketing Gewäsch von ATI, absolut unbrauchbar.
TheCounter
2006-07-25, 15:57:15
Jesus[/POST]']Das ist reines Marketing Gewäsch von ATI, absolut unbrauchbar.
Das kannst du als Superdev natürlich sagen und hast es auch schon ausprobiert, gelle?
TheCounter[/POST]']Vielleicht ist das auch die Methode die Valve verwenden will? Allerdings müsste diese doch deutlich langsamer sein als wenn man über den eDRAM mit tiling geht da man ja vieles in Software machen muss.Weil die ROPs im eDRAM sitzen muss auch ein höher aufgelöster Backbuffer da rein. Das kann schneller sein als Tiling, wenn die jeweilige Engine so ganz und gar nicht dafür ausgelegt ist und das Bottleneck mehr bei der Geometrie liegt. Trotzdem hat man immer noch nur den recht kleinen Platz im eDRAM, kann also ohne Tiling in der Auflösung nicht allzu hoch gehen, selbst wenn es von der Leistung her drinwäre. Von meinem Verständnis her sollte das Downscaling eigentlich keine Softwareangelegenheit sein, dafür hat die 360 ja ihren Scaler.
Alles aus der Perspektive eines interessierten Laien geschrieben, könnte also auch purer BS sein. Ob dem, was so über Xenos bekannt ist sollte es aber schon ungefähr stimmen.
Ailuros
2006-07-25, 20:22:33
DK777[/POST]']Einfach einen Link in die Diskussion reinwerfen kann jeder. ;(
(Mindestens 3 Leute aus diesem Thread kennen den von dir verlinkten, da er im Konsolen-Forum verlinkt (http://www.forum-3dcenter.org/vbulletin/showthread.php?p=4581684#post4581684) wurde.) Und was Nutella ist, wissen wir. ;) :)
Worauf willst du hinaus?
Dass es auch anders geht ohne tiling.
Ailuros[/POST]']Dass es auch anders geht ohne tiling.
Geht Prinzipbedingt nicht. AA braucht eine Überabtastung und die muss man irgendwo speichern.
Jesus
2006-07-25, 23:24:36
Ailuros[/POST]']Dass es auch anders geht ohne tiling.
Das geht aus dem Link nicht hervor, und es geht auch nicht, du musst übers EDRAM gehen:
Xenos always renders to edram. The only way to avoid this is to use memexport. Super sampling will require more memory than can fit in edram just as with MSAA
TheCounter[/POST]']Das kannst du als Superdev natürlich sagen und hast es auch schon ausprobiert, gelle?
Ich glaube ich kann etwas mehr sagen als du, allein der letzte Satz ist wieder das typische "AA for free" Geschwätz (ja wenn da nicht das EDRAM wäre :) ),
The only way to avoid this is to use memexport.
Dann verliert man das komplette ROP-Blending. Kann man auch vergessen. Zudem würde Supersampling mehr Performance brauchen als den Bildschirm in zwei Teile zu zerlegen (das man wenigstens 2xAA hat) und die gecullte Geometrie nochmal an einer Plane zu zerschneiden.
Ich habs mir jetzt mehrmals überlegt und bin der Meinung dass Tiling durchaus praktikabel ist - vor allem in Half-Life² weil das alles Singlepass rendert.
Drawcalls würden wahrscheinlich so um das 1,5x ansteigen - dürfte aber bei der direkten Hardwareansprache auf einer Konsole nicht soo ins Gewicht fallen.
Super sampling will require more memory than can fit in edram just as with MSAA
Eigentlich braucht es genau gleich viel.
StefanV
2006-07-25, 23:31:35
Jesus[/POST]']Das geht aus dem Link nicht hervor, und es geht auch nicht, du musst übers EDRAM gehen:
(...)
(ja wenn da nicht das EDRAM wäre :) ),
Ich will ja nicht stören, aber die XBox360 hat eDRAM = embedded DRAM, kein Enhanced DRAM, was im Prinzip Fast Page Mode RAM mit etwas Cache ist...
Enhanced DRAM
Enhanced DRAM (EDRAM) is the combination of SRAM and DRAM in a single package that is usually used for a level-2 cache. Typically, 256 bytes of static RAM is included along with the dynamic RAM. Data is read first from the faster (typically 15 nanoseconds) SRAM and if it is not found there, it is read from the DRAM, typically at 35 nanoseconds. (http://searchwincomputing.techtarget.com/sDefinition/0,,sid68_gci213927,00.html)
Jesus
2006-07-25, 23:40:40
StefanV[/POST]']Ich will ja nicht stören, aber die XBox360 hat eDRAM = embedded DRAM, kein Enhanced DRAM, was im Prinzip Fast Page Mode RAM mit etwas Cache ist...
Entschuldige dass ich die Shift Taste zu früh gedrückt habe :)
Eigentlich braucht es genau gleich viel
<KLUGSCHEISS> "...just as with MSAA." = genauso wie MSAA </KLUGSCHEISS> :rolleyes:
Ups. Habs nur das "more as" gelesen ;)
StefanV
2006-07-26, 00:06:06
Jesus[/POST]']Entschuldige dass ich die Shift Taste zu früh gedrückt habe :)
Die Shift Taste macht teilweise gewaltige Unterschiede aus, z.B. mb vs MB.
1Mega Byte sind etwas mehr als ein millibit ;)
Ailuros
2006-07-26, 06:32:26
Coda[/POST]']Geht Prinzipbedingt nicht. AA braucht eine Überabtastung und die muss man irgendwo speichern.
Mir persoenlich hoert sich das Ganze an, als ob Valve eine (hoechstwahrscheinlich) etwas umstaendliche Methode ausgetueftelt hat, um irgend eine Art von AA ins Spiel zu bekommen.
Jesus
2006-07-26, 10:01:00
Ailuros[/POST]']Mir persoenlich hoert sich das Ganze an, als ob Valve eine (hoechstwahrscheinlich) etwas umstaendliche Methode ausgetueftelt hat, um irgend eine Art von AA ins Spiel zu bekommen.
Worauf beziehst du dich denn da in dem Thread? Ich kann da nichts rauslesen...
Hvoralek
2006-07-26, 13:26:07
Liegt es nicht eigentlich nahe, dass Valve das auf diese Weise (http://www.forum-3dcenter.org/vbulletin/showpost.php?p=4584025&postcount=26) "löst"? Da ist nur die Rede von "a different way (than tiling)", nicht von etwas völlig Neuartigem.
Ailuros[/POST]']Mir persoenlich hoert sich das Ganze an, als ob Valve eine (hoechstwahrscheinlich) etwas umstaendliche Methode ausgetueftelt hat, um irgend eine Art von AA ins Spiel zu bekommen.
Das einzige was gehen würde wäre die Szene mehrmals komplett zu rendern um 3Dfx-Supersampling zu machen. Dann kannst das Ding aber auch gleich tilen ;)
Coda[/POST]']Das einzige was gehen würde wäre die Szene mehrmals komplett zu rendern um 3Dfx-Supersampling zu machen. Dann kannst das Ding aber auch gleich tilen ;)Je nachdem, ob Xenos auch AAA kann wäre das vielleicht gar nicht mal so doof. Leistung sollte genug da sein und die alphazertesteten Zäune wären schon ein ziemlicher Ausreißer in der Grafikqualität, wenn sie inmitten eigentlich vernünftig geglätteter Geometrie ständen.
DrFreaK666
2006-07-26, 15:21:47
Gast[/POST]']Je nachdem, ob Xenos auch AAA kann wäre das vielleicht gar nicht mal so doof. Leistung sollte genug da sein und die alphazertesteten Zäune wären schon ein ziemlicher Ausreißer in der Grafikqualität, wenn sie inmitten eigentlich vernünftig geglätteter Geometrie ständen.
Kann man dem nicht einfach mit Alpha-Blending entgegenwirken?
Oder heisst das anders?
DrFreaK666[/POST]']Kann man dem nicht einfach mit Alpha-Blending entgegenwirken?
Oder heisst das anders?Fürs Alphablending muss man erst alles vorsortieren, sonst gibts Grafikfehler. Das Vorsortieren frisst einiges an CPU-Power. Und damit ist die 360 nicht gerade im Übermaß gesegnet. In der PC-Version wird ja auch nicht ohne Grund Alphatesting eingesetzt, nicht Alphablending.
Coda[/POST]']Geht Prinzipbedingt nicht. AA braucht eine Überabtastung und die muss man irgendwo speichern.
Und was ist, wenn du jedes Quad direkt auflöst und nur die finale Pixelfarbe in den FB schreibst? Dann brauchst du nur soviel mehr Speicher, wie gerade Threads/Quads in Bearbeitung sind.
Das kannst du nicht, weil du jeden Pixel mit einem IMR potentiell mehrmals schreibst.
Und was wäre daran so schlimm?
DrFreaK666
2006-07-26, 16:47:06
Gast[/POST]']Fürs Alphablending muss man erst alles vorsortieren, sonst gibts Grafikfehler. Das Vorsortieren frisst einiges an CPU-Power. Und damit ist die 360 nicht gerade im Übermaß gesegnet. In der PC-Version wird ja auch nicht ohne Grund Alphatesting eingesetzt, nicht Alphablending.
Ich kenne jedenfalls keine 360-Spiel, bei dem Texturen mit Alpha-Wert flimmern
Gast[/POST]']Und was wäre daran so schlimm?
Es funktioniert nicht. Du kannst nicht zwischendurch mal downsamplen, sondern erst wenn das Bild in hoher Auflösung fertig gerendert wurde.
DrFreaK666[/POST]']Ich kenne jedenfalls keine 360-Spiel, bei dem Texturen mit Alpha-Wert flimmern
Wenn kein Alpha-To-Coverage o.ä. verwendet wird flimmert Alpha-Testing per-se.
Coda[/POST]']Es funktioniert nicht. Du kannst nicht zwischendurch mal downsamplen, sondern erst wenn das Bild in hoher Auflösung fertig gerendert wurde.
Unfug, mit Tiling geht's ja auch - bzw. auf TBDRs. Und wenn ich die Tile-Size jetzt solange verkleinere, bis ich bei einem Quad angekommen bin - peng.
Gast[/POST]']Unfug, mit Tiling geht's ja auch - bzw. auf TBDRs. Und wenn ich die Tile-Size jetzt solange verkleinere, bis ich bei einem Quad angekommen bin - peng.
Jedes Tile wird auch fertig gerendert bevor es in den Backbuffer geschrieben wird. Ein Quad aus der Pipeline ist kein fertiges Bild.
Nix Unfug. Ich weiß genau von was ich rede. Sonst könnte man sich den Speicherbedarf von Anti-Aliasing generell sparen.
Coda[/POST]']Jedes Tile wird auch fertig gerendert bevor es in den Backbuffer geschrieben wird. Ein Quad aus der Pipeline ist kein fertiges Bild.
Nix Unfug. Ich weiß genau von was ich rede. Sonst könnte man sich den Speicherbedarf von Anti-Aliasing generell sparen.
Und wo liegt das Problem von einem 2x2-Tile? Wenn meine minimale Thread-Größe eh in dem Bereich liegt, kann ich den Rotz doch direkt in die ROPs schießen.
DrFreaK666
2006-07-26, 17:00:33
Coda[/POST]']
...Wenn kein Alpha-To-Coverage o.ä. verwendet wird flimmert Alpha-Testing per-se.
Ist Alpha-to-coverage nicht soetwas wie AAA?
Was bedeutet: per-se?
Gast[/POST]']Und wo liegt das Problem von einem 2x2-Tile? Wenn meine minimale Thread-Größe eh in dem Bereich liegt, kann ich den Rotz doch direkt in die ROPs schießen.
Nochmal: Ein Quad das aus der Pipeline kommt ist kein fertiges Bild. Du kannst nicht zwischendurch downsamplen, wenn du nochmal darüber zeichnen willst.
Außerdem verwechselst du anscheinend gerade Multisampling mit den Quads. Ein Quad mit 4xAA liefert 16 Subpixel nach den ROPs.
DrFreaK666[/POST]']Ist Alpha-to-coverage nicht soetwas wie AAA?
Ja, es glättet Alpha-Test-Kanten etwas.
DrFreaK666[/POST]']Was bedeutet: per-se?
grundsätzlich
DrFreaK666
2006-07-26, 17:04:30
Unterstützt die 360 nun Alpha-To-Coverage oder Alpha-Blending?
Alpha-To-Coverage müsste sie können - ja. Alpha-Blending konnte schon ne Voodoo 1 ;)
Aber was hat das miteinander zu tun?
DrFreaK666
2006-07-26, 17:10:42
Coda[/POST]']Alpha-To-Coverage müsste sie können - ja. Alpha-Blending konnte schon ne Voodoo 1 ;)
Aber was hat das miteinander zu tun?
Dieser Gast (http://www.forum-3dcenter.org/vbulletin/showpost.php?p=4594431&postcount=60) meinte, dass die CPU der 360 zu wenig Power für Alpha-Blending hat.
Wollte nur wissen welche Technik sie nutzt - mehr nicht
Nun. Mit Alpha-Testing brauchst du nix sortieren, hast aber eben das Problem dass es zu Kanten kommt auch mit Multisampling. Dagegne kannst du Alpha-To-Coverage einsetzen, was es etwas mildert.
Ailuros
2006-07-27, 06:56:55
Coda[/POST]']Das einzige was gehen würde wäre die Szene mehrmals komplett zu rendern um 3Dfx-Supersampling zu machen. Dann kannst das Ding aber auch gleich tilen ;)
Solch eine merkwuerdige Schnappsidee koennte doch auch gehen?
http://www.beyond3d.com/forum/showpost.php?p=798006&postcount=144
Ich hab zwar keine Ahnung ob das obrige ueberhaupt geht, aber ich kann mir gut vorstellen dass Valve irgend eine Methode gefunden hat die im schlimmsten Fall sogar irgendwo einen "Macke" hat.
deekey777
2006-07-27, 13:32:28
Wäre nicht diese Erfahrung aus der Praxis nicht im Weg?
http://www.beyond3d.com/forum/showpost.php?p=782789&postcount=16
:confused:
Coda[/POST]']Nochmal: Ein Quad das aus der Pipeline kommt ist kein fertiges Bild. Du kannst nicht zwischendurch downsamplen, wenn du nochmal darüber zeichnen willst.
Außerdem verwechselst du anscheinend gerade Multisampling mit den Quads. Ein Quad mit 4xAA liefert 16 Subpixel nach den ROPs.
Ersteres ist mir bewußt und zweiteres verwechsle ich nicht.
Und was geschieht in den ROPs? Sie berechnen die finale Pixelfarbe und schreiben sie in den Framebuffer. Idealerweise wird das Pixel danach nicht mehr überschrieben. Im Falle von nicht wirkendendem Early-Z oder bei Alpha-Blending wird der Wert nochmals ausgelesen und zur Berechnung der dann vielleicht finalen Pixelfarbe herangezogen. Richtig?
Was auch immer du machen will, du kannst nicht zwischendurch downsamplen. Man könnte das Bild über memexport zwar direkt in den VRAM schreiben, dadurch verlierst du aber den kompletten Vorteil des eDRAM und du hast am Ende nur 4xOGSSAA wenn du es 4x so groß renderst.
Die XBox360 beherrscht doch das Aufteilen des Bildes in vier einzelne Teilstücke, oder? Damit kann sie auch noch FSAA anwenden, richtig?
Von selber macht sie gar nichts, das müssen wenn dann die Programmierer aufwändig selber machen - und Leistung kostet es auch.
Ich scheine da ja einen Punkt getroffen zu haben, wenn du dich an solchen Wortklaubereien aufhängst.
Natürlich muss der Programmierer dies anstossen und Programme ablaufen zu lassen kostet immer Leistung - darauf können wir uns gern einigen, wenn wir dafür zum Kern der Sache zurückkommen könnten.
Du stimmst mir also zu in diesem Punkte? Dass die Hardware der XBox360 hinreichend programmierbar für diese Aktion ist?
Für welche Aktion? Willst du Supersampling ins RAM machen oder was jetzt?
Meine Herren - worüber haben wir denn grad gesprochen? Darüber, dass die Hardware der XBox360... das Bild in vier Tiles splitten kann und auf jedes MSAA anwenden.
Jesus
2006-07-28, 08:27:48
Gast[/POST]']Meine Herren - worüber haben wir denn grad gesprochen? Darüber, dass die Hardware der XBox360... das Bild in vier Tiles splitten kann und auf jedes MSAA anwenden.
Kann sie nicht.
Mit jeder Hardware kann man mehrere kleine Bilder rendern und diese zu einem großen zusammensetzen. So kann man dann auch Rendertarget-Limitationen umgehen und Riesenbilder erzeugen. Das funktioniert allerdings nicht automatisch, und die Geometrie muss mehrfach verarbeitet werden.
Der Vorteil der Xbox 360 in dieser Hinsicht ist dass sie Geometriedaten nach der ersten Transformation markieren kann, oder gleich die transformierten Vertexdaten in den Speicher schreiben. Das ist natürlich immer noch nicht so effizient wie ein einfacher Renderpass, aber doch besser als mehrere Bildteile komplett unabhängig zu rendern.
Xmas[/POST]']Mit jeder Hardware kann man mehrere kleine Bilder rendern und diese zu einem großen zusammensetzen. So kann man dann auch Rendertarget-Limitationen umgehen und Riesenbilder erzeugen. Das funktioniert allerdings nicht automatisch, und die Geometrie muss mehrfach verarbeitet werden.
Der Vorteil der Xbox 360 in dieser Hinsicht ist dass sie Geometriedaten nach der ersten Transformation markieren kann, oder gleich die transformierten Vertexdaten in den Speicher schreiben. Das ist natürlich immer noch nicht so effizient wie ein einfacher Renderpass, aber doch besser als mehrere Bildteile komplett unabhängig zu rendern.
Vielen Dank, endlich jemand, der mich versteht. Diese "kleinen Bilder" - können die nun MSAA abbekommen oder nicht (auf XBox360)? Eigentlich sehe ich keinen Grund, warum sie's nicht sollten.
TheCounter
2006-07-28, 12:23:58
Gast[/POST]']Diese "kleinen Bilder" - können die nun MSAA abbekommen oder nicht (auf XBox360)? Eigentlich sehe ich keinen Grund, warum sie's nicht sollten.
Tiling wird ja nur verwendet wenn die Entwickler MSAA bei 720p wollen.
TheCounter[/POST]']Tiling wird ja nur verwendet wenn die Entwickler MSAA bei 720p wollen.
Ja, richtig. Nur warum erzählen mir dann Coda und Jesus, es würde nicht gehen?
Neomi
2006-07-28, 13:25:34
Gast[/POST]']Ja, richtig. Nur warum erzählen mir dann Coda und Jesus, es würde nicht gehen?
Das erzählen sie bestimmt nicht. MSAA bei 720p funktioniert nicht ohne Tiling, aber es war nicht die Rede davon, daß es generell nicht geht.
PS: MSAA for free funktioniert bei geringen Auflösungen ganz ohne Tiling und ist auch dann sinnvoll, wenn man in 720p rendert. Was hat 720p mit geringen Auflösungen zu tun? Ganz einfach, es gibt mehr zu rendern als nur das Bild aus der offensichtlichen Kameraperspektive. Rendert man für Reflektionen erstmal die 6 Seiten einer Cubemap à 512x512, dann kann man z.B. noch 4x MSAA dazupacken. Ganz ohne Extraaufwand für Tiling, weil es vollständig in den eDRAM paßt. Mich wundert ein wenig, daß das noch niemand hier erwähnt hat.
Neomi[/POST]']Das erzählen sie bestimmt nicht. MSAA bei 720p funktioniert nicht ohne Tiling, aber es war nicht die Rede davon, daß es generell nicht geht.
Beispiel:
Jesus[/POST]']Kann sie nicht.
Auch Codas Aussagen hierzu waren...errr... leicht undeutlich.
Neomi
2006-07-28, 13:43:32
Dieses "Kann sie nicht." bezieht sich allerdings darauf, daß die XBox 360 das Bild in Tiles aufteilen können solle. Das kann sie tatsächlich nicht, zumindest nicht automatisch. Die Aufteilung liegt nämlich in der Verantwortlichkeit der Engine (also quasi der Software). Wenn die Engine das Bild aufteilt und die Tiles einzeln rendert, kann die Hardware die einzelnen Tiles mit MSAA berechnen.
Genau bei dieser Haarspalterei waren wir eine Seite zuvor schon - ich dachte, es sei mittlerweile klar, wovon wir sprechen.
Genau dafür waren btw meine Auslassungszeichen in dem Posting, welches Jesus zitierte und sagte "Kann sie nicht".
Die Hardware der Xbox360 kann also, wenn sie durch ein Programm, welches von einem Menschen oder Compiler entsprechend ausgelegt wurde, auf geeignete Art und Weise angesteuert wird, das Bild in mehrere (hier: 4) einzelne Teile zerlegen und jedes getrennt von den anderen berechnen. Dazu zählen die Nutzung des eDRAM und der Multi-Sampling-Funktionalität der ROPs innerhalb des Daughter-Die auf dem Substrat, welche Mother- und Daughter-Die trägt.
Mithilfe dieser genannten Funktionalität kann die entsprechend genutzte Hardware der Xbox360 ein Bild unter gewinnbringender Nutzung ihre eDRAMs erzeugen, welches mit MSAA aufgewertete Geometriekanten aufweist, obwohl ihr integriertes eDRAM bei konventioneller Nutzung (ohne Aufteilung des Bildes durch Programmierer und Software) für einen Framebuffer dieser Auflösung mit MSAA zu gering bemessen wäre.
Danke, und jetzt erwarte ich auch von euch absolut exakte Formulierungen. :(
Jesus
2006-07-28, 17:46:32
Gast[/POST]']Die Hardware der Xbox360 kann also, wenn sie durch ein Programm, welches von einem Menschen oder Compiler entsprechend ausgelegt wurde, auf geeignete Art und Weise angesteuert wird, das Bild in mehrere (hier: 4) einzelne Teile zerlegen und jedes getrennt von den anderen berechnen.
Danke, und jetzt erwarte ich auch von euch absolut exakte Formulierungen. :(
Dieses "Kann sie nicht." bezieht sich allerdings darauf, daß die XBox 360 das Bild in Tiles aufteilen können solle. Das kann sie tatsächlich nicht, zumindest nicht automatisch. Die Aufteilung liegt nämlich in der Verantwortlichkeit der Engine (also quasi der Software). Wenn die Engine das Bild aufteilt und die Tiles einzeln rendert, kann die Hardware die einzelnen Tiles mit MSAA berechnen
Ich hab die wichtigen Stellen für dich nochmal markiert ;)
Gast[/POST]']Ich scheine da ja einen Punkt getroffen zu haben, wenn du dich an solchen Wortklaubereien aufhängst.
Natürlich muss der Programmierer dies anstossen und Programme ablaufen zu lassen kostet immer Leistung - darauf können wir uns gern einigen, wenn wir dafür zum Kern der Sache zurückkommen könnten.
Du stimmst mir also zu in diesem Punkte? Dass die Hardware der XBox360 hinreichend programmierbar für diese Aktion ist?
Ich für dich auch. ;)
Gasthaus
2006-07-31, 19:13:11
Tja, das eDRAM in PS2 und Gamecube dient auch als Texturcache, in der 360 tuts das nicht, kümmert sich aber ums MSAA. Das wärs aber auch schon wieder. Generell wäre eDRAM für immer aktives FSAA positiv, aber für PC-übliche und HDTV-Auflösungen wird das momentan noch viel zu groß.
GC,PS2,eDRAM???
Die haben höchstens eine V-Ram/Main-Ram Konfiguration.Da ist nichts embedded.Wieviel vom V-Ram als Framebuffer verwendet wird ist variabel im Gegensatz zur 360.
Gasthaus
2006-07-31, 19:21:17
In non-HD alle. Weil in 640x480 gibts eigentlich keinen Grund es aus zu lassen.
Ich hätte dem Ding einfach 16MiB eDRAM verpasst. Aber man muss ja knausern...
Hab ich auf bemerkt.Ist nur leider völlig egal,da auf nem 72er CRT-Fernseher im Interlace sich sowieso alles von alleine glättet.Ebenso sind 640 auf PC-Monitor nicht akzeptabel,selbst mit 128xAA for free nicht.
Zu den 16MB,mir ist auch schleierhaft wie man auf völlig undigitale krumme 10MB kommt.
vBulletin®, Copyright ©2000-2024, Jelsoft Enterprises Ltd.