PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : AA for free in Xbox 360!!


3D-profi
2005-05-19, 19:21:07
Ich poste das noch mal hier.Falls es viele noch nicht wissen das EDRAM(10MB) ist NICHT im R500 integriert,sondern ist ein extra Chip mit Logikschaltkreisen,das ganze nennt sich "Smart3D" dort sind diverse Grafikfunktionen untergebracht,die Busverbindung zwischen dem Smart3D und dem R500 ist mit 2GHZ getaktet.

Hier ein interressanter dort steht auch das die XBOX360 keine Flaschenhälse hat,na mal sehen:

http://www.hardocp.com/article.html?art=NzcxLDE=

"Inside the Smart 3D Memory is what is referred to as a 3D Logic Unit. This is literally 192 Floating Point Unit processors inside our 10MB of RAM. This logic unit will be able to exchange data with the 10MB of RAM at an incredible rate of 2 Terabits per second. So while we do not have a lot of RAM, we have a memory unit that is extremely capable in terms of handling mass amounts of data extremely quickly. The most incredible feature that this Smart 3D Memory will deliver is “antialiasing for free” done inside the Smart 3D RAM at High Definition levels of resolution. (For more of just what HiDef specs are, you can read here. Yes, the 10MB of Smart 3D Memory can do 4X Multisampling Antialiasing at or above 1280x720 resolution without impacting the GPU. So all of your games on Xbox 360 are not only going to be in High Definition, but all will have 4XAA applied as well."

http://www.hardocp.com/images/articles/1116474449YKDeoJQepf_3_1.jpg

Was halten die Spezialisten davon hier im Forum???

Coda
2005-05-19, 19:22:06
Ja hab ich im Speku Thread auch schon festgestellt. Wenn man soviel Bandbreite hat ist MSAA praktisch umsonst.

Allerdings ist es wohl so dass Fragmente kein AA mehr bekommen wenn der Speicher ausgeht.

StefanV
2005-05-20, 07:50:31
Ich poste das noch mal hier.Falls es viele noch nicht wissen das EDRAM(10MB) ist NICHT im R500 integriert,sondern ist ein extra Chip mit Logikschaltkreisen,das ganze nennt sich "Smart3D" dort sind diverse Grafikfunktionen untergebracht,die Busverbindung zwischen dem Smart3D und dem R500 ist mit 2GHZ getaktet.
EDRAM ists sowieso nicht, was du meinst ist eDRAM.

Siehe auch hier (http://www.makeitsimple.com/articles/ramguide/ramguidep3.htm)

DrumDub
2005-05-20, 11:41:59
tjo, hier ist das ganze erklärt worden: http://www.techreport.com/etc/2005q2/xbox360-gpu/index.x?pg=2

ne nette idee für den pc aber leider ungeeignet.

Quasar
2005-05-20, 15:52:41
"Inside the Smart 3D Memory is what is referred to as a 3D Logic Unit. This is literally 192 Floating Point Unit processors inside our 10MB of RAM. This logic unit will be able to exchange data with the 10MB of RAM at an incredible rate of 2 Terabits per second. So while we do not have a lot of RAM, we have a memory unit that is extremely capable in terms of handling mass amounts of data extremely quickly. The most incredible feature that this Smart 3D Memory will deliver is “antialiasing for free” done inside the Smart 3D RAM at High Definition levels of resolution. (For more of just what HiDef specs are, you can read here. Yes, the 10MB of Smart 3D Memory can do 4X Multisampling Antialiasing at or above 1280x720 resolution without impacting the GPU. So all of your games on Xbox 360 are not only going to be in High Definition, but all will have 4XAA applied as well."

Interessant, ein Marketing-Speak nimmt nicht die 1080i/p in den Mund. Dann scheint's dort wohl kein 4xAA mehr zu geben.

Ansonsten: Bekannt.

Jesus
2005-05-20, 15:57:59
Interessant, ein Marketing-Speak nimmt nicht die 1080i/p in den Mund. Dann scheint's dort wohl kein 4xAA mehr zu geben.

Ansonsten: Bekannt.

1080p kann die Box sowieso nicht (bei Games), und in 1080i hab ich bisher nix gesehen.

Gast
2005-05-20, 16:01:24
1080p kann die Box sowieso nicht (bei Games), und in 1080i hab ich bisher nix gesehen.
Aber mal ehrlich. 720P mit 4*AA fast ohne Leistungseinbuße wäre doch ne tolle Sache.

Coda
2005-05-20, 16:56:26
Das Problem ist wie gesagt der sehr begrenzte Speicher im eDRAM. Wenn viele Polygone gezeichnet werden kann es wirklich sein, dass AA nicht mehr funktioniert irgendwann.

DrumDub
2005-05-20, 16:58:35
Das Problem ist wie gesagt der sehr begrenzte Speicher im eDRAM. Wenn viele Polygone gezeichnet werden kann es wirklich sein, dass AA nicht mehr funktioniert irgendwann. lies dir einfach mal den artikel von techreport.com durch. da wird ja schön erklärt, wie es funtkioniert. ;)

Gast
2005-05-20, 17:09:56
lies dir einfach mal den artikel von techreport.com durch. da wird ja schön erklärt, wie es funtkioniert. ;)
Danke für den Tip. :)

Hier nochmal der Direktlink.


Konsolenfreund

Gast
2005-05-20, 17:10:11
Ähmm, hier --> http://techreport.com/etc/2005q2/xbox360-gpu/index.x?pg=1

Demirug
2005-05-20, 17:24:28
lies dir einfach mal den artikel von techreport.com durch. da wird ja schön erklärt, wie es funtkioniert. ;)

Genau das wird eben gerade nicht erklärt. Rechne dir mal aus wie viel Speicher man für 4xAA bei 1280*768 braucht. Am besten noch bei HDR.

3D-profi
2005-05-20, 17:25:30
http://techreport.com/etc/2005q2/xbox360-gpu/block.gif

Die Anzahl der Transistoren insgesamt soll bei mind. 200Millionen liegen.

3D-profi
2005-05-20, 17:26:55
Genau das wird eben gerade nicht erklärt. Rechne dir mal aus wie viel Speicher man für 4xAA bei 1280*768 braucht. Am besten noch bei HDR.

Der Framebuffer ist gesplittet in den 10MB Edram liegen nur Fragmente die
anderen Bildaten im Hauptspeicher.

Jesus
2005-05-20, 17:28:08
http://techreport.com/etc/2005q2/xbox360-gpu/block.gif

Die Anzahl der Transistoren insgesamt soll bei mind. 200Millionen liegen.

inkl. eDRAM??? Wäre nicht gerade berauschend.

Coda
2005-05-20, 17:29:39
Ich würde es eher effizient nennen ;)

DrumDub
2005-05-20, 17:29:55
Genau das wird eben gerade nicht erklärt. Rechne dir mal aus wie viel Speicher man für 4xAA bei 1280*768 braucht. Am besten noch bei HDR. hmm... also ich fand das hier recht einleuchtend: If I have it right, the component processors should be able to process 32 pixels at once by operating on six components per pixel: red, green, blue, alpha, stencil, and depth. This logic can do the resolve pass for multisample antialiasing right there on the eDRAM die, giving the Xbox 360 the ability to do 4X antialiasing on a high-definition (1280x768) image essentially for "free"—i.e., with no appreciable performance penalty. The eDRAM holds the contents of all of the back buffers, does the resolve, and hands off the resulting image into main system memory for scan-out to the display. http://techreport.com/etc/2005q2/xbox360-gpu/index.x?pg=2

Coda
2005-05-20, 17:32:27
Da steht nichts dazu wie der Speicher verwaltet wird. Es muss irgendeine Art echter Kompression vorhanden sein.

Demirug
2005-05-20, 17:36:54
Der Framebuffer ist gesplittet in den 10MB Edram liegen nur Fragmente die
anderen Bildaten im Hauptspeicher.

"The eDRAM holds the contents of all of the back buffers"

Wie viel Platz braucht man für den Backbuffer bei 1280*768 mit 4xAA?

3D-profi
2005-05-20, 17:39:31
inkl. eDRAM??? Wäre nicht gerade berauschend.

Da kursieren viele Werte im Netz,HardOCP und Anandtech gehen von
300+ Millionen aus.

3D-profi
2005-05-20, 17:42:57
"The eDRAM holds the contents of all of the back buffers"

Wie viel Platz braucht man für den Backbuffer bei 1280*768 mit 4xAA?

Laut Patent soll Partioned Redering speichersparend sein.Ansonsten hätte
ich an Ati/MS Stelle alles in 65nm gefertig das wäre jetzt schon machbar
gewesen,damit wäre man vielen Probs aus den Weg gegangen.

Gast
2005-05-20, 17:45:49
Was zwar etwas OT ist, aber diese Stelle fine ich interessant: "Feldstein also said that character skin should look great, and he confirmed to me that real-time subsurface scattering effects should be possible on the Xbox 360."

Ich hoffe wir werden nun echten Tiefenglanz sehen, der notwendig ist um Haut und andere komplexere Materialien korrekt darstellen zu können.


Konsolenfreund

Coda
2005-05-20, 17:47:09
Sub Surface Scattering gibt's auch schon auf R300 in ner ATi Demo. Da gibt's ne relative günstige Implementierung per Shadowmaps.

Gast
2005-05-20, 17:52:16
Sub Surface Scattering gibt's auch schon auf R300 in ner ATi Demo. Da gibt's ne relative günstige Implementierung per Shadowmaps.
Klar, habe die Demo schön desöfteren laufen lassen. Finde ich auch ganz toll. Ich denke aber, dass es mit dem R500 besser und effizienter gehen wird, so dass man Surface Scattering in bester Qualität auch mal in Spielen sieht.

Demirug
2005-05-20, 18:10:37
Laut Patent soll Partioned Redering speichersparend sein.Ansonsten hätte
ich an Ati/MS Stelle alles in 65nm gefertig das wäre jetzt schon machbar
gewesen,damit wäre man vielen Probs aus den Weg gegangen.

Das Teil benutzt eine ähnliche Kompresiontechnik wie schon die normalen PC Chips von ATI. Dort wird aber immer genügend Speicher vorgehalten um im Worstcase Fall für alle Pixel alle Samples speichern zu können. Genau dieser Punkt ist aber bei der XBox 360 unklar. Für wie viele Pixel ist ein Überlaufspeicher vorhanden?

Coda
2005-05-20, 18:11:52
Klar, habe die Demo schön desöfteren laufen lassen. Finde ich auch ganz toll. Ich denke aber, dass es mit dem R500 besser und effizienter gehen wird, so dass man Surface Scattering in bester Qualität auch mal in Spielen sieht.Was soll man da noch besser machen? Das sieht einwandfrei aus...
Mir sind auch keine anderen Verfahren bekommt um das auf einem Rasterizer halbwegs flüssig zu machen.

DrumDub
2005-05-20, 18:13:09
Das Teil benutzt eine ähnliche Kompresiontechnik wie schon die normalen PC Chips von ATI. Dort wird aber immer genügend Speicher vorgehalten um im Worstcase Fall für alle Pixel alle Samples speichern zu können. Genau dieser Punkt ist aber bei der XBox 360 unklar. Für wie viele Pixel ist ein Überlaufspeicher vorhanden? hmm... vielleicht ist das ja die "lösung": Laut Microsoft müssen alle Xbox-360-Spiele Auflösungen von 720p bei zweifachem Anti-Aliasing unterstützen. 4X-Anti-Aliasing und 1080i sind optional. http://www.heise.de/newsticker/meldung/59742

Gast
2005-05-20, 18:13:20
Hier der techreport.com Bereicht von Heise abgeschrieben/zusammengefasst. http://www.heise.de/newsticker/meldung/59742


Konsolenfreund

Coda
2005-05-20, 18:14:13
Das ist doch keine Lösung. Es geht ja auch 720p und 4xAA einzustellen z.B. und dann gibt es Fälle wo der Speicher eben nicht reicht.

Quasar
2005-05-20, 18:14:16
Der Vorteil von Konsolen ist ja, daß die Entwickler von vornherein wissen, auf welche Specs sie hinentwickeln. Könnte ja sein, daß es da sehr genaue Richtlinien gibt hinsichtlich der Kompressionsfähigkeit der Buffer.

Coda
2005-05-20, 18:15:19
Ehm, man kann nicht "alle" Szenen eines Spieles auf AA testen :rolleyes:

Und vor allem was macht der Chip dann wenn es doch mal passiert? Soll das Ding einfach abstürzen :ugly:

Gast
2005-05-20, 18:16:41
Das ist doch keine Lösung. Es geht ja auch 720p und 4xAA einzustellen z.B. und dann gibt es Fälle wo der Speicher eben nicht reicht.
Vielleicht wird damit einfach nur geworben, dass 4*AA "for-free" geht, obwohl in der Praxis vorwiegend nur 2*AA eingesetzt wird, weil der Speicher sonst zu knapp wird.

Konsolenfreund

Gast
2005-05-20, 18:19:12
Das Teil benutzt eine ähnliche Kompresiontechnik wie schon die normalen PC Chips von ATI. Dort wird aber immer genügend Speicher vorgehalten um im Worstcase Fall für alle Pixel alle Samples speichern zu können. Genau dieser Punkt ist aber bei der XBox 360 unklar. Für wie viele Pixel ist ein Überlaufspeicher vorhanden?

Keine Ahnung.Ich frage mich natürlich jetzt auch ob der R500 in einigen
Bereichen sich als Sparversion heraustellt,das Aufgrund der Edram Technik
einige Effekte wie bei einer Ati800Pro oder R520 wegfallen bzw. so
nicht möglich sind.

Demirug
2005-05-20, 18:19:48
Ehm, man kann nicht "alle" Szenen eines Spieles auf AA testen :rolleyes:

Und vor allem was macht der Chip dann wenn es doch mal passiert? Soll das Ding einfach abstürzen :ugly:

Matrox hat dann einfach nicht mehr geglättet wenn der Samplespeicher voll war.

Demirug
2005-05-20, 18:21:14
Keine Ahnung.Ich frage mich natürlich jetzt auch ob der R500 in einigen
Bereichen sich als Sparversion heraustellt,das Aufgrund der Edram Technik
einige Effekte wie bei einer Ati800Pro oder R520 wegfallen bzw. so
nicht möglich sind.

R420 Effekte werden alle funktionieren und auch die R520 Effekte sollten kein problem sein. Der eDRAM kann wie gesagt lediglich beim AA Probleme machen.

Crazy_Bon
2005-05-20, 18:25:43
Keine Ahnung.Ich frage mich natürlich jetzt auch ob der R500 in einigen
Bereichen sich als Sparversion heraustellt,das Aufgrund der Edram Technik
einige Effekte wie bei einer Ati800Pro oder R520 wegfallen bzw. so
nicht möglich sind.
Die R500 benutzt Unified Shader, also weitaus höher entwickelt als die R420 in Sachen Pixelshader. Ausserdem ist der eDRAM-Speicher nicht der alleinige Speicher für die GPU, der Chip kann auf die restlichen 512MB von der Konsole zugreifen.

3D-profi
2005-05-20, 18:27:41
R420 Effekte werden alle funktionieren und auch die R520 Effekte sollten kein problem sein. Der eDRAM kann wie gesagt lediglich beim AA Probleme machen.

Ich meinte insbesondere auch bei der Farbdarstellung und Verläufen.Wenn
man jetzt in einem Spiel an ein Objekt heranzoomt,das jetzt durch den knappen Edram die Farbverläufe(Schatten/Spiegelung) eher gerastert wirken,als bei einer Grafikkarte ohne Edram.

Xmas
2005-05-20, 18:28:52
Ich bin ehrlich gesagt gar nicht überzeugt davon, dass die zusätzlichen AA-Samples im eDRAM landen.

Es gibt aber noch eine Möglichkeit, von der ich im Zusammenhang mit R500 gelesen habe: Man macht einen Z-First-Pass und partitioniert dann bei Bedarf. Für Z alleine sollte ausreichend Speicher vorhanden sein.

Exxtreme
2005-05-20, 18:30:11
Ehm, man kann nicht "alle" Szenen eines Spieles auf AA testen :rolleyes:

Macht ja nichts. Die Spieleentwickler werden schon wissen wo der Speicher zu knapp werden könnte und dann würden sie Gegenmassnahmen ergreifen wie z.B. AA deaktivieren etc. Und dem Normalzocker fällt das eh' nicht auf wenn das AA in bestimmten Szenen aus ist.

Eine andere Möglichkeit sehe ich auch noch. Man könnte den eDRAM bloß als Z-Buffer nutzen und den Rest im "langsamen" Speicher vorhalten wenn der Speicher zu knapp wird. *edit* LOL, Xmas war schneller. :|

Natürlich müsste es der Chip unterstützen. Wenn das so ist dann könnten die Entwickler das schon im Voraus zu diesem Trick greifen wenn der Spieler eine Szene betritt, bei der der Speicher knapp werden könnte.

Xmas
2005-05-20, 18:34:31
Eine andere Möglichkeit sehe ich auch noch. Man könnte den eDRAM bloß als Z-Buffer nutzen und den Rest im "langsamen" Speicher vorhalten wenn der Speicher zu knapp wird. *edit* LOL, Xmas war schneller. :|
Das ist nicht dasselbe. Ich meinte nur einen Z-First-Pass, bei dem praktischerweise gleich noch der Speicherbedarf für den kompletten Framebuffer mitbestimmt wird. Später kommen dann auch die Farbdaten in den eDRAM, aber eben je nach vorher bestimmtem Speicherbedarf evtl. partitioniert.

Klar könnten 10MiB auch für Z bei 4xAA nicht ausreichen, aber das ist schon ein ziemlicher Extremfall.

Demirug
2005-05-20, 18:34:35
Es muss zwingend in den eDRAM gerendert werden weil dieser die ROPs hat.

Das einzige was noch denkbar wäre ist folgendens. In dem angesprochenen Patent befindet sich der Überlaufspeicher für die Kantenpixel nicht im eDRAM sondern es handelt sich um einen weiteren Speicher. Wenn man dieses Prinzip beibehalten hat könnte man sich vom Hauptspeicher genügend Überlaufspeicher abzweigen so das es reicht. Wenn es eben dann zu Frames kommt die viele Kantenpixel haben wird entsprechend Bandbreite vom hauptspeicher abgezogen.

Xmas
2005-05-20, 18:35:38
Das meinte ich ja auch.

Demirug
2005-05-20, 18:44:43
Das meinte ich ja auch.

Das was ich meine funktioniert auch ohne einen Z-First Pass. Aber vielleicht habei ich das Patent auch nicht richtig verstanden.

IMHO speichert man immer nur einen Wert pro Pixel und verweist wenn dieser Pixel ein Randpixel auf eine Position im Samplespeicher. Wenn dann ein solcher Pixel erneut in den ROPs gebraucht wird fordert der Framebuffer Chip die Samples aus dem Samplespeicher an.

Quasar
2005-05-20, 18:53:31
Das was ich meine funktioniert auch ohne einen Z-First Pass. Aber vielleicht habei ich das Patent auch nicht richtig verstanden.

IMHO speichert man immer nur einen Wert pro Pixel und verweist wenn dieser Pixel ein Randpixel auf eine Position im Samplespeicher. Wenn dann ein solcher Pixel erneut in den ROPs gebraucht wird fordert der Framebuffer Chip die Samples aus dem Samplespeicher an.
Das Patent, auf welches XMas (mich) aufmerksam machte und das bei B3D diskutiert wurde, verstehe ich auch so.
Nicht komprimierbare Samples werden so lange gelooped, bis die finale (Misch-)Farbe feststeht und man dann dieses Sample schreiben kann (Wobei es auch nicht mehr Platz belegt, als ein beliebiges anderes Sample.

Allerdings ging ich davon aus, daß bereits der R300 das so handhabt.

If the sample set for a particular pixel location can be compressed, the compressed sample set is stored within the frame buffer of the custom memory circuit. However, if such compression is not possible, pointer information is stored within the frame buffer on the custom memory, and a sample memory controller included on the graphics processor maintains a complete sample set for the pixel location within a sample memory. When the sample memory controller maintains a complete sample set for a pixel location, the frame buffer stores a pointer corresponding to the location of the sample set.

3D-profi
2005-05-20, 18:55:55
http://www.beyond3d.com/forum/viewtopic.php?t=22260

"Video graphics system that includes custom memory and supports anti-aliasing and method therefor

Abstract

A method and apparatus for supporting anti-aliasing oversampling in a video graphics system that utilizes a custom memory for storage of the frame buffer is presented. The custom memory includes a memory array that stores the frame buffer as well as a data path that performs at least a portion of the blending operations associated with pixel fragments generated by a graphics processor. The fragments produced by a graphics processor are oversampled fragments such that each fragment may include a plurality of samples. If the sample set for a particular pixel location can be compressed, the compressed sample set is stored within the frame buffer of the custom memory circuit. However, if such compression is not possible, pointer information is stored within the frame buffer on the custom memory, and a sample memory controller included on the graphics processor maintains a complete sample set for the pixel location within a sample memory. When the sample memory controller maintains a complete sample set for a pixel location, the frame buffer stores a pointer corresponding to the location of the sample set.
...
...
The present invention provides a method and apparatus for performing video graphics anti-aliasing in a system that utilizes a custom memory. The custom memory includes a memory array, which may be a DRAM memory array, that stores the frame buffer for the system. Also included within the custom memory is a portion of the blending circuitry used to blend newly generated pixel fragments with stored pixel data. In cases where the blending performed within the DRAM results in data that can be reduced to a compressed sample set, further blending operations are not required. However, if the results of the first pass blending cannot be compressed, the appropriate information is provided back to the graphics processor such that the complete sample set for the particular pixel location can be stored within a sample memory for subsequent use. As such, the present invention provides a lossless compression technique that supports an over-sampled video graphics-processing environment. Such oversampling can help reduce undesirable aberrations within displayed images."

Demirug
2005-05-20, 18:59:53
Quasar, der R300 macht das wohl auch schon so. Nur liegt da ja alles in einem Speicherblock womit das Problem mit dem nicht ausreichenden Speicher gar nicht aufkommen kann.

Quasar
2005-05-20, 19:02:54
Aber wieso reserviert er dann a priori schon maximal-große Buffer? Falls mal wirklich was sehr schlecht Komprimierbares gerendert werden sollte, kann man doch immer noch irgendwo was aus dem Speicher schmeissen...

Demirug
2005-05-20, 19:10:10
Aber wieso reserviert er dann a priori schon maximal-große Buffer? Falls mal wirklich was sehr schlecht Komprimierbares gerendert werden sollte, kann man doch immer noch irgendwo was aus dem Speicher schmeissen...

Leider nicht. Es gibt denkbare Situationen in denen das Probleme machen kann. Und spätestens mit Longhorn darf die Grafikkarte sowas sowieso nicht mehr aleine entscheiden.

Gast
2005-05-20, 22:15:10
1280*720 Pixel * 60 Hz = 55,296 MPixel/Sekunde * 3 Byte/Pixel = 165,9 MB/Sekunde
1980*1080 Pixel * 60 Hz = 128,3 Mpixel/Sekunde * 3 Byte/Pixel = 384,9 MB/Sekunde

Leute, könnte es sein, dass das 4x MSAA aus dem eRam berechnet und zeitgleich direkt ausgegeben wird, ohne zu speichern?
Dann wäre 4x MSAA auf dem Bildschirm vorhanden, aber nicht in der Hardware.

Coda
2005-05-20, 22:20:15
Nein, man braucht ja mindestens double buffering, sonst sieht man ja wie der Grafikchip zeichnet, was zu heftigem Flimmern führt ;)

Spasstiger
2005-05-20, 22:25:29
Nein, man braucht ja mindestens double buffering, sonst sieht man ja wie der Grafikchip zeichnet, was zu heftigem Flimmern führt ;)

Hehe, das sieht dann so aus wie in meinem unter QBasic geproggten DOS-Benchmark "Warpmark":
http://www.forum-3dcenter.org/vbulletin/showthread.php?t=222145

;)

Gast
2005-05-20, 22:44:28
Nein, man braucht ja mindestens double buffering, sonst sieht man ja wie der Grafikchip zeichnet, was zu heftigem Flimmern führt ;)
Wenn man dies syncron zur Bildschirmfrequenz macht?

Coda
2005-05-20, 23:28:27
Der RAMDAC/DVI Transmitter der das Signal auf dem Anzeigegerät ausgibt ließt ständig aus dem VRAM. Man würde also sehen wie die Polygone gezeichnet werden (naja man würde eher ein Flackern sehen)

Was soll man da synchron zur Bildfrequenz machen? Man kann den page flip synchron machen, nennt sich VSync.

Du scheinst zu übersehen, dass das Bild nicht in einem Schlag entsteht, sondern auch Polygone gezeichnet werden die gar nicht sichtbar sind später.

Xmas
2005-05-21, 02:26:28
Das was ich meine funktioniert auch ohne einen Z-First Pass. Aber vielleicht habei ich das Patent auch nicht richtig verstanden.

IMHO speichert man immer nur einen Wert pro Pixel und verweist wenn dieser Pixel ein Randpixel auf eine Position im Samplespeicher. Wenn dann ein solcher Pixel erneut in den ROPs gebraucht wird fordert der Framebuffer Chip die Samples aus dem Samplespeicher an.
Das waren jetzt zwei verschiedene Dinge. Das was im Patent steht ist so wie du es beschreibst. Ich habe aber noch von einer anderen Möglichkeit gehört, eben dem Z-First-Pass, bei dem man theoretisch den Speicherbedarf feststellen könnte. Dann kann auch alles im eDRAM sein, und bei Bedarf wird partitioniert.

Allerdings ging ich davon aus, daß bereits der R300 das so handhabt.
Nein, R300 benutzt keine Pointer und reserviert immer den Speicher für alle Samples.
R300 komprimiert definitiv Tiles (deswegen auch die unterschiedliche Kompressionsrate von Z (bis 1:24) und Farbe (bis 1:6), R500 komprimiert einzelne Pixel.

Demirug
2005-05-21, 08:44:35
Das waren jetzt zwei verschiedene Dinge. Das was im Patent steht ist so wie du es beschreibst. Ich habe aber noch von einer anderen Möglichkeit gehört, eben dem Z-First-Pass, bei dem man theoretisch den Speicherbedarf feststellen könnte. Dann kann auch alles im eDRAM sein, und bei Bedarf wird partitioniert.

Dann müsste der eDRAM noch einen Funktion haben um Kantenpixel zu zählen. Als Entwickler gefällt mir die Idee allerdings nicht sonderlich weil sie den Renderloop komplizierter macht.

Nein, R300 benutzt keine Pointer und reserviert immer den Speicher für alle Samples.
R300 komprimiert definitiv Tiles (deswegen auch die unterschiedliche Kompressionsrate von Z (bis 1:24) und Farbe (bis 1:6), R500 komprimiert einzelne Pixel.

Das der Speicher immer reserviert werden muss ist logisch. Allerdings glaube ich irgendwo mal gelesen zu haben das diese 1:6 Kompression genau darauf beruht das man einen Framebuffer + Samplespeicher benutzt. Im Framebuffer selbst wird dann entweder direkt die Farbe oder ein verweiss auf den Samplebuffer gespeichert.

Coda
2005-05-21, 12:31:50
Und wie wird unterschieden ob es ein Sample oder ein Pointer ist?

Demirug
2005-05-21, 12:42:22
Und wie wird unterschieden ob es ein Sample oder ein Pointer ist?

Man zweigt sich ein Bit ab. Vielleicht bei Alphakanal?

Coda
2005-05-21, 12:45:19
Das wäre doch sicher schon jemandem aufgefallen, wenn man nur halbe Alpha Auflösung hätte :|

Kann es nicht sein dass noch ein Bitset seperat zum Framebuffer gespeichert wird?

Demirug
2005-05-21, 12:49:36
Das wäre doch sicher schon jemandem aufgefallen, wenn man nur halbe Alpha Auflösung hätte :|

ATI hat doch bekanntermassen ein Problem wenn es um das Alphablendig geht. Der berühmte 1 Bit Fehler der sich hochsummiert.

Kann es nicht sein dass noch ein Bitset seperat zum Framebuffer gespeichert wird?

Das ist natürlich auch möglich.

Coda
2005-05-21, 13:28:53
ATI hat doch bekanntermassen ein Problem wenn es um das Alphablendig geht. Der berühmte 1 Bit Fehler der sich hochsummiert.Der Fehler tritt ja auch auf wenn man das Destination Alpha nicht mitbenützt, oder?

Xmas
2005-05-22, 02:59:43
Dann müsste der eDRAM noch einen Funktion haben um Kantenpixel zu zählen. Als Entwickler gefällt mir die Idee allerdings nicht sonderlich weil sie den Renderloop komplizierter macht.
Da man sowieso einen hochzählenden Pointer braucht der immer an die nächste freie Stelle im Samplespeicher zeigt, ist das schon eingebaut. (Dazu schlägt das Patent einen kleinen Stack vor, um wieder freigegebene Speicherblöcke nochmals zu verwerten)
Ob man beim Tiling als Entwickler überhaupt groß einzugreifen braucht, kann ich nicht beurteilen.

Das der Speicher immer reserviert werden muss ist logisch. Allerdings glaube ich irgendwo mal gelesen zu haben das diese 1:6 Kompression genau darauf beruht das man einen Framebuffer + Samplespeicher benutzt. Im Framebuffer selbst wird dann entweder direkt die Farbe oder ein verweiss auf den Samplebuffer gespeichert.
In dem Fall bräuchte man ein Bitflag pro Pixel statt pro Tile und den Speicher für ein Sample pro Pixel mehr. Vorteil wäre, dass man nun Pixel- statt Tile-basiert komprimiert was die Effizienz steigert. Nachteilig ist dass es den Speicherzugriff deutlich verkompliziert. Auch dürfte sich die Latenz negativ bemerkbar machen. Dabei dürfen sich Zugriffe ja nicht gegenseitig "überholen".


Scheinbar hat sich das Thema sowieso erledigt, Dave Baumann meinte der R500 würde im eDRAM gar nicht komprimieren, und deshalb bei 720p immer partitionieren. Damit machen auch die 256GB/s Bandbreite von den ROPs zum Speicher Sinn, wenn man bei 32 Samples/Takt jeweils 64bit lesen und schreiben will.
So richtig glauben kann ich das aber noch nicht.

Demirug
2005-05-22, 09:31:05
Da man sowieso einen hochzählenden Pointer braucht der immer an die nächste freie Stelle im Samplespeicher zeigt, ist das schon eingebaut. (Dazu schlägt das Patent einen kleinen Stack vor, um wieder freigegebene Speicherblöcke nochmals zu verwerten)
Ob man beim Tiling als Entwickler überhaupt groß einzugreifen braucht, kann ich nicht beurteilen.

Theoretisch kann man dasTillen verstecken. Es muss dafür der gesamte Kommandostrom irgendwo Zeischenspeichert werden damit er mehrfach ausgeführt werden kann. Allerdings legte man bei Design ja einen gewissen Wert darauf das man dynamische Geometrie welche von der CPU berechnet wird unter umgehung des Hauptspeichers rendern kann. Tilling würde dem wiedersprechen.

²Thom
2005-05-23, 18:20:27
Mal ne ganz doofe Frage (hab keine Ahnung). Eine wie grosse Auflösung würde wohl ohne AA und AF in 10 MB eDRAM passen?

Noch eine Frage: Kann man Tilebased AA bewerkstelligen? Dann bräuchte man nicht so extrem viel Speicher.

Was ich meine: Bild ohne AA in eDram rendern und die Recheneinheiten im eDram bewerkstelligen tilebased AA direkt ins Systemram?!?

Coda
2005-05-23, 18:24:38
Mal ne ganz doofe Frage (hab keine Ahnung). Eine wie grosse Auflösung würde wohl ohne AA und AF in 10 MB eDRAM passen?

Noch eine Frage: Kann man Tilebased AA bewerkstelligen? Dann bräuchte man nicht so extrem viel Speicher.

Was ich meine: Bild ohne AA in eDram rendern und die Recheneinheiten im eDram bewerkstelligen tilebased AA direkt ins Systemram?!?AF hat mit dem Speicher überhaupt nichts zu tun. 1280x960 braucht mit Z/Stencil-Buffer 9,375MB ohne Multisampling. Was meinst du mit Tilebased AA?

Btw, wie funktioniert eigentlich Early-Z-Out mit dem eDRAM? Gibt's da ne Anfragelogik?

²Thom
2005-05-24, 11:47:58
AF ist dann wohl so was wie Oversampling?!? Ich sage doch, dass ich keine Ahnung habe.

Tilebased AA stelle ich mir so vor:

man nehme eine Kachel sagen wir mal 64 x 64 vom "Bild" und wendet Multisampling oder Supersampling darauf an. Dann schreibt man die veränderten Kacheldaten wieder zurück. Für eine Kachel brauch man viel weniger Speicherplatz als für ein ganzes Bild. Selbst achtfach AA wären kein Problem.

Das einzig problematische ist der Übergang von einer Kachel zur nächsten, da könnten bei diesem Verfahren "Gelbe" (Artefakte) entstehen. Eventuell müsste man die Kacheln nicht angrenzend sondern leicht überlappend nacheinander berechnen. Rechenmehraufwand zu normalem 2xAA ca.20% Speicherersparnis: je nach Tile-grösse ca. 90%.

Ist vielleicht alles kompletter Müll, was ich mir da Ausdenke, könnte aber so gehen.

Coda
2005-05-24, 12:14:10
AF ist dann wohl so was wie Oversampling?!? Ich sage doch, dass ich keine Ahnung habe.Die Texturen werden genauer gesampled, ja. Am Framebuffer ändert sich dabei gar nichts.

man nehme eine Kachel sagen wir mal 64 x 64 vom "Bild" und wendet Multisampling oder Supersampling darauf an. Dann schreibt man die veränderten Kacheldaten wieder zurück. Für eine Kachel brauch man viel weniger Speicherplatz als für ein ganzes Bild. Selbst achtfach AA wären kein Problem.AA ist KEIN Postfilter.

²Thom
2005-05-24, 12:22:17
Danke Coda. Wäre aber eine nette Vorsellung gewesen.

Du machst einen etwas aggressiven Eindruck. Solltes Dir mal ein paar Folgen "Sinnlos im Weltraum" reinziehen. ;D

Coda
2005-05-24, 13:04:12
Nein, ich wollte das nur klarstellen ;)
Das Missverständniss tritt nur alzu oft auf...

Naja die XGI Leute haben bei der Volari wirklich nen Blurfilter auf den Framebuffer angewendet und das als Antialiasing verkauft :crazy:

Gast
2005-05-24, 15:21:44
Naja die XGI Leute haben bei der Volari wirklich nen Blurfilter auf den Framebuffer angewendet und das als Antialiasing verkauft :crazy:
Sei froh, dass sie das nicht als HDR verkauft haben, weil alles so bloomig aussieht. :hammer:


Konsolenfreund

Coda
2005-05-24, 15:30:41
Bei manchen hier im Forum wäre sie damit sicher durchgekommen ;)

3D-profi
2005-06-12, 10:20:25
Hier noch was interresantes zur X360 GPU:

D. Baumann is a senior owner/Mod/Developer on Beyond3d and runs the forums as well since 2002. He has conducted an interview with ATI which is yet to be out following ATI reviewing it. Here is his response to people following ATI's qoutes than Xenos > RSX


With Xenos we have some different processing elements to consider: eDRAM / MSAA / Z pass / Tiling is one element to consider for Xenon and then there is the shader architecture which is a bit out there, and I firmly believe this will give us a glimpse to ATI's PC future (important to this site). RSX's pixel operation looks to be more in line with other processors, so there probably isn't much to look at there and the architecture appears to be PC derived so it will probably be covered in one form or another sooner or later - if its later (but before its covered from the PC side) then I'd like to do the same (if possible), but my suspicion is that its sooner.

ON UNIFIED VS SEPERATE ARCHITECURES

Actually I believe Nvidia main complaint was about the different types of demands VS and PS plce on the prcoessor and how the ALU's need to hanlde the latencies differently because PS usually has filtered texture lookups which are usually the most latency bound of operation. However, ATI's point is that they have removed the ALU and texture link by having them separated - if there is a texture instruction in a shader program the texture samplers will be tasked with retreiving that texture data, meanwhile a completely independant theads are working on the ALU's; when the texture data is ready the shader program that requested that data can go back into context, run on the ALUs and the the texture data will already be buffered and usable immediately when the shader instruction that does operations on that data is being processed.

Xenos has a function called "MEMEXPORT" that facilitates random access read/write to memory, which AFAIK is / will be exposed through the XBOX 360 API.

Theoretically Xenos could be a true vector co-processor and any op that requires plenty of vector processing could potentially benefit from a processor such as Xenos. Exactly how useful it will be is up in the air at the moment since all these things would still have to be structured within the confines of a vertex shader program. At the very least, Xenos or processors like it will probably make for some very nice science experiments and get the GPGPU crowd more than interested, whether it will be adopted in realtime for this type of processing on XBOX 360 is too early to tell

http://forum.teamxbox.com/showthread.php?t=353445

Gast
2005-06-12, 13:13:09
Hier noch was interresantes zur X360 GPU:

D. Baumann is a senior owner/Mod/Developer on Beyond3d and runs the forums as well since 2002. He has conducted an interview with ATI which is yet to be out following ATI reviewing it. Here is his response to people following ATI's qoutes than Xenos > RSX


With Xenos we have some different processing elements to consider: eDRAM / MSAA / Z pass / Tiling is one element to consider for Xenon and then there is the shader architecture which is a bit out there, and I firmly believe this will give us a glimpse to ATI's PC future (important to this site). RSX's pixel operation looks to be more in line with other processors, so there probably isn't much to look at there and the architecture appears to be PC derived so it will probably be covered in one form or another sooner or later - if its later (but before its covered from the PC side) then I'd like to do the same (if possible), but my suspicion is that its sooner.

ON UNIFIED VS SEPERATE ARCHITECURES

Actually I believe Nvidia main complaint was about the different types of demands VS and PS plce on the prcoessor and how the ALU's need to hanlde the latencies differently because PS usually has filtered texture lookups which are usually the most latency bound of operation. However, ATI's point is that they have removed the ALU and texture link by having them separated - if there is a texture instruction in a shader program the texture samplers will be tasked with retreiving that texture data, meanwhile a completely independant theads are working on the ALU's; when the texture data is ready the shader program that requested that data can go back into context, run on the ALUs and the the texture data will already be buffered and usable immediately when the shader instruction that does operations on that data is being processed.

Xenos has a function called "MEMEXPORT" that facilitates random access read/write to memory, which AFAIK is / will be exposed through the XBOX 360 API.

Theoretically Xenos could be a true vector co-processor and any op that requires plenty of vector processing could potentially benefit from a processor such as Xenos. Exactly how useful it will be is up in the air at the moment since all these things would still have to be structured within the confines of a vertex shader program. At the very least, Xenos or processors like it will probably make for some very nice science experiments and get the GPGPU crowd more than interested, whether it will be adopted in realtime for this type of processing on XBOX 360 is too early to tell

http://forum.teamxbox.com/showthread.php?t=353445
Naja, nichts wirklich Neues und eine Lobpreisung auf die eigene Hardware. Wen wundert das?

Konsolenfreund

KaKÅrØT
2005-06-12, 13:49:19
hab da aich mal ne frage ....

habe zuhause ne xbox mit x3 modchip ;

wenn ich mir ne x360 kaufe ist die abwärtskompatibel also so wie die ps2 zu ps1 ?

wäre es dann möglich per netzwerk adapter über lan zu spielen?

McEric
2005-06-12, 15:21:38
wofür braucht man AA auf nem fernseher?

Gil-galad
2005-06-12, 15:48:28
wofür braucht man AA auf nem fernseher?

Für TVs mit Auflösungen > PAL ;) Zum Beispiel für TVs mit 1280x720, 1920x1080 etc.

Neomi
2005-06-12, 20:45:54
Für TVs mit Auflösungen > PAL ;) Zum Beispiel für TVs mit 1280x720, 1920x1080 etc.

Nein, deshalb nicht. Bei hohen Auflösungen bringt FSAA zwar auch noch eine Menge, aber gerade bei niedrigen Auflösungen ist es besonders wichtig. Besonders profitiert davon hoch aufgelöste Geometrie.

Ich habe mal kurz ein passendes Bild gebastelt. Sieht doof aus, ist aber so. Denkt euch das einfach als eine Art Antenne, die auch in Spielen vorkommen kann.

http://img98.echo.cx/img98/4898/fsaa7xo.jpg (http://www.imageshack.us)

Bild 1 ist sozusagen die Quelle, eine normale "Antenne" aus der Nähe betrachtet. Bewegt man sich von ihr weg, erscheint sie natürlich kleiner. Die einzelnen Balken sind in den anderen Bildern (alle auf 64x48 auf verschiedene Arten runtergerechnet, dann wieder auf 128x96 hoch zur besseren Darstellung) dünner als ein einzelner Pixel.

Bild 2 wurde sauber heruntergerechnet und entspricht damit einem hohen FSAA-Level. Zur Darstellung habe ich es ohne Filter vergrößert.

Bild 3 ist die Version von Bild 2 vor der Vergrößerung. Darauf habe ich einen Unschärfefilter angewendet und das Bild danach mit Filter wieder hochgerechnet. Eine etwas übertriebene Unschärfe insgesamt, eben eine Überzeichnete Version von der Darstellung auf einem herkömmlichen TV.

Bild 4 ist wie Bild 2 eine runtergerechnete Version von Bild 1, aber völlig ohne Filterung, quasi ohne FSAA. Die zu kleinen "Dreiecke" verpassen regelmäßig die Pixelzentren, dadurch entstehen Lücken. Die getroffenen Pixelzentren sind passenderweise zu hell.

Bild 5 ist für Bild 4 das, was Bild 3 schon für Bild 2 war. Es ist sehr deutlich zu erkennen, daß einmal fehlende Informationen von keinem Unschärfefilter zurückgeholt werden können. FSAA ist nunmal kein Postfilter. Fehlen die Samples schon bei der Berechnung, dann fehlen sie einfach.

Genau deshalb braucht man FSAA auch auf Fernsehern, bei niedrigerer Auflösung sogar um so mehr. Die jetzigen Konsolentitel werden für niedrige Auflösungen gemacht, also kann auch auf passend groben Content (dessen Geometrie einfach nicht fein genug ist, um Pixel zu überspringen) geachtet werden. Wenn der Content auf hohe Auflösungen ausgelegt ist (und das sollte er bei der nächsten Generation schon sein), dann muß eine optional niedrigere Auflösung für ältere Fernseher mit besonders hohen FSAA-Modi beglückt werden.

Gil-galad
2005-06-12, 22:02:36
Nein, deshalb nicht. Bei hohen Auflösungen bringt FSAA zwar auch noch eine Menge, aber gerade bei niedrigen Auflösungen ist es besonders wichtig.

Ja richtig, wo bin ich nur wieder mit meinen Gedanken? :|

Aber wer schließt schon eine HDTV-ready Konsole an nen "normalen" Fernseher an? :wink:

Coda
2005-06-12, 22:08:39
Ziemlich viele. Glaubst du wirklich alle die ne XBox 360 haben werden kaufen sich auch nen neuen Fernseher?

Gil-galad
2005-06-12, 22:19:19
Ziemlich viele. Glaubst du wirklich alle die ne XBox 360 haben werden kaufen sich auch nen neuen Fernseher?

Mir ist schon klar, dass viele sicherlich keinen HDTV-ready Fernseher haben oder sich einen kaufen werden. Aber selbst mit 6xAA sehen Spiele bei PAL-Auflösung auf nem Fernseher imo bescheiden aus. AA hin oder her. Dann doch eher nen 19" TFT und da die XBox 360 anschließen.

Coda
2005-06-12, 22:23:35
Ich glaube kaum dass MS DVI oder VGA anbietet, das hätten sie schon bei der XBox 1 machen können.

Gil-galad
2005-06-12, 22:39:11
Ich glaube kaum dass MS DVI oder VGA anbietet, das hätten sie schon bei der XBox 1 machen können.

Lassen wir uns überraschen ;)

Crazy_Bon
2005-06-12, 22:43:28
Ich glaube kaum dass MS DVI oder VGA anbietet, das hätten sie schon bei der XBox 1 machen können.
Tun sie aber, schau unten rechts. (http://www.axbserver.de/axb/uploads/mediapool/Sonstiges/xbox360_zubehoer.jpg)

deekey777
2005-06-12, 22:45:12
Ich glaube kaum dass MS DVI oder VGA anbietet, das hätten sie schon bei der XBox 1 machen können.

Das Teil wird definitiv mit einem HDMI kommen: Wenn das HDMI HDCP frei beibt, spricht nichts gegen einen HDMI->DVI-D Adapter, zumindest was das Bild angeht, denn HDMI überträgt eigentlich auch den Sound, doch ich glaube, daß zumindest bei Spielen die analogen Ausgänge aktiviert bleiben.

Coda
2005-06-12, 22:50:20
Ok, dann ist das natürlich eine Möglichkeit :)

Das macht für mich eine XBox auch reizvoller ehrlich gesagt.

Gast
2005-06-12, 22:58:21
Ich glaube kaum dass MS DVI oder VGA anbietet, das hätten sie schon bei der XBox 1 machen können.
Du glaubst manchmal viel, wenn der Tag lang ist. ;) Trotzdem wird die X360 DVI und VGA out haben.

Konsolenfreund