PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : DX8-Shaderleistung bei R300?


aths
2004-02-16, 00:33:50
Eine Pipe hat ja nur eine TMU. Können für PS_1_1 pro Pipe und Takt nur eine, oder zwei arithmetische Instruktionen gerechnet werden? Oder anders gefragt, ist die arithmetische Power vergleichbar mit NV25 pro Pipe?

Gast
2004-02-16, 00:53:58
http://www.beyond3d.com/forum/viewtopic.php?t=8005&highlight=r300

das hilft vielleicht

aths
2004-02-16, 03:40:28
Da geht es afaik um 2.0-Shader. Zudem sind Dave Baumanns Theorien nicht unbedingt richtig.

Demirug
2004-02-16, 08:18:35
Bei PS 1.1 können die R3XX Chips nur eine Anweisung pro Pipe und Takt rechnen. Das kommt aber daher das bei den 1.X Shadern die Anweisungen einen Vector3 und Skalaranteil enthalten. Das was bei PS 2.0 also automatisch gemacht wird wird bei PS 1.1 von aussen vorgegeben. Das heisst aber nicht das der Treiber hier nicht doch noch umsortieren kann.

Gast
2004-02-16, 15:43:10
Original geschrieben von aths
Da geht es afaik um 2.0-Shader. Zudem sind Dave Baumanns Theorien nicht unbedingt richtig.

wenns so falsch wäre hätte sireric wahrscheinlich schon was gesagt. Jedenfalls kommt die theorie ja von einer präsentation seitens ati.

aths
2004-02-16, 21:35:23
Original geschrieben von Demirug
Bei PS 1.1 können die R3XX Chips nur eine Anweisung pro Pipe und Takt rechnen. Das kommt aber daher das bei den 1.X Shadern die Anweisungen einen Vector3 und Skalaranteil enthalten. Das was bei PS 2.0 also automatisch gemacht wird wird bei PS 1.1 von aussen vorgegeben. Das heisst aber nicht das der Treiber hier nicht doch noch umsortieren kann. Hast du nicht mal erwähnt, dass ATI irgendwo sagte, dass noch Extra-Recheneinheiten für PS<=1.4 zur Verfügung stehen?

Xmas
2004-02-16, 22:01:37
Für die Modifier, ja.

aths
2004-02-17, 04:49:23
Auch wenn die Radeon auf PS_1_1 gezwungen wird, ist eine 9600 im 3DM'03 GT2 und GT3 kaum langsamer, als die arithmetisch doppelt so schnelle Ti 4600.

Wie kann das sein?

Demirug
2004-02-17, 09:02:56
Original geschrieben von aths
Auch wenn die Radeon auf PS_1_1 gezwungen wird, ist eine 9600 im 3DM'03 GT2 und GT3 kaum langsamer, als die arithmetisch doppelt so schnelle Ti 4600.

Wie kann das sein?

Weil GT2 und GT3 nicht nur auf Shaderleistung aufbauen.

aths
2004-02-17, 12:04:41
Original geschrieben von Demirug
Weil GT2 und GT3 nicht nur auf Shaderleistung aufbauen. Sondern auch auf Texturing?

Oder Vertex Shading? Sowohl GF4 als auch Radeon 9600 haben afaik eine Art "Dual Vertex Shader".

Demirug
2004-02-17, 12:23:25
GT2 und GT3 foltern zum Beispiel das Tri-Setup mit iherem Schattenverfahren. Um die Shaderleistung zu bestimmen ist der 3DMark relative unbrauchbar.

aths
2004-02-17, 12:40:01
Original geschrieben von Demirug
GT2 und GT3 foltern zum Beispiel das Tri-Setup mit iherem Schattenverfahren. Um die Shaderleistung zu bestimmen ist der 3DMark relative unbrauchbar. Das Triangle-Setup der GF4 Ti wird damit doch kaum überfordert, oder?

Mir geht es trotz des Thread-Titels weniger darum, die Shaderleistung zu bestimmen, sondern herauszukriegen, warum die 9600 trotz gleichem Codepath kaum langsamer als die GF4 Ti 4600 ist. Das mit der Shaderleistung war ein Versuch, der sich ja nun als falsch herausgestellt hat.

Demirug
2004-02-17, 12:51:18
Original geschrieben von aths
Das Triangle-Setup der GF4 Ti wird damit doch kaum überfordert, oder?

Damit bekommt man mehr oder minder jedes Tri-Setup an die Grenzen weil ja die meisten Dreiecke dort sofort verworfen werden.

aths
2004-02-17, 12:57:40
Original geschrieben von Demirug
Damit bekommt man mehr oder minder jedes Tri-Setup an die Grenzen weil ja die meisten Dreiecke dort sofort verworfen werden. Genauer, bitte.

Wieso kommt die GF4 an ihre Grenzen, die Radeon nicht?

ow
2004-02-17, 13:09:43
.

aths
2004-02-17, 13:22:08
Original geschrieben von ow
Genauer bitte.

Wie kommst du darauf, dass die Radeon hier nicht an ihre Grenzen gelangt? Mit PS_1_4 ist sie fast 20% schneller, und überholt die GF4 Ti 4600. Ich rede wohlgemerkt von einer Radeon 9600, ohne Pro, ohne XT. Das nimmt mich doch etwas wunder.

Bei GT2 und 3 sehe ich eigentlich nicht so viel Geometrie, dass das Triangle Setup limitieren dürfte.

Demi, was die arithmetische Rechenkraft bei 1.1 - 1.4 angeht, da ist die Radeon 8500 also Takt für Takt doppelt so schnell??

Demirug
2004-02-17, 13:26:41
Original geschrieben von aths
Bei GT2 und 3 sehe ich eigentlich nicht so viel Geometrie, dass das Triangle Setup limitieren dürfte.

hehe. Man muss nicht alles sehen. Schatten sind eben die Abwesenheit von Licht. Es ist die Schattengeometrie die heftig zuschlägt.

aths
2004-02-17, 13:29:37
Demi, was die arithmetische Rechenkraft bei 1.1 - 1.4 angeht, da ist die Radeon 8500 also Takt für Takt doppelt so schnell??


edit:

Original geschrieben von Demirug
hehe. Man muss nicht alles sehen. Schatten sind eben die Abwesenheit von Licht. Es ist die Schattengeometrie die heftig zuschlägt. FM wird doch keine so idiotische Engine für einen DX8/DX9-Test haben, dass das Triangle Setup vor der Shader-Leistung limitiert?

Demirug
2004-02-17, 13:32:34
Original geschrieben von aths
Demi, was die arithmetische Rechenkraft bei 1.1 - 1.4 angeht, da ist die Radeon 8500 also Takt für Takt doppelt so schnell??

doppelt so schnell wie was?

FM wird doch keine so idiotische Engine für einen DX8/DX9-Test haben, dass das Triangle Setup vor der Shader-Leistung limitiert?

Doch die eigesetzte Technik ist idiotisch. nVidia hat sich doch deswegen auch aufgeregt.

aths
2004-02-17, 13:34:01
Original geschrieben von Demirug
doppelt so schnell wie was?9600.


Original geschrieben von Demirug
Doch die eigesetzte Technik ist idiotisch. nVidia hat sich doch deswegen auch aufgeregt. Ja idiotisch mag sie sein, aber so idiotisch? Ich frag mal bei Patric nach ...

Demirug
2004-02-17, 13:57:49
Original geschrieben von aths
9600.

Ja die 9600 hat 4 ALU/FPU und die 8500 hat 8 davon.


Ja idiotisch mag sie sein, aber so idiotisch? Ich frag mal bei Patric nach ...

Ja, weil sie ein Verfahren wollten das komplett in der Grafikkarte läuft.

Quasar
2004-02-17, 14:09:41
Original geschrieben von aths
FM wird doch keine so idiotische Engine für einen DX8/DX9-Test haben, dass das Triangle Setup vor der Shader-Leistung limitiert?

Hast du deinen Thread im Benchmark-Forum vergessen?

aths
2004-02-17, 14:11:20
Original geschrieben von Demirug
Ja die 9600 hat 4 ALU/FPU und die 8500 hat 8 davon. Rrr.

Hast du btw eine Ahnung, warum lt. 3DMark Füllratentest (egal ob 2001 oder '03) beim RV350 eine 2x2-Architektur (und keine 4x1-Konfiguration) vorzuliegen scheint?

Original geschrieben von Demirug
Ja, weil sie ein Verfahren wollten das komplett in der Grafikkarte läuft. ... deshalb wählten sie eins, was das Triangle Setup an die Grenzen bringt? Muss bei Verwendung von 1.1 diese Geometrie-Arbeit komplett 2x gemacht werden? Mit dem 1.4-er PS gewinnt die Radeon ja ca. 20% mehr Geschwindigkeit. Wenn immerhin ein kompletter Pass gespart wird, und das Rendering singlepass läuft, müsste der Gewinn dann doch höher ausfallen?

ow
2004-02-17, 14:23:55
.

Demirug
2004-02-17, 14:25:05
Original geschrieben von aths
Rrr.

Hast du btw eine Ahnung, warum lt. 3DMark Füllratentest (egal ob 2001 oder '03) beim RV350 eine 2x2-Architektur (und keine 4x1-Konfiguration) vorzuliegen scheint?

Weil der Füllratentest im 3DMark einfach Müll ist.

... deshalb wählten sie eins, was das Triangle Setup an die Grenzen bringt? Muss bei Verwendung von 1.1 diese Geometrie-Arbeit komplett 2x gemacht werden? Mit dem 1.4-er PS gewinnt die Radeon ja ca. 20% mehr Geschwindigkeit. Wenn immerhin ein kompletter Pass gespart wird, und das Rendering singlepass läuft, müsste der Gewinn dann doch höher ausfallen?

Das Schattenverfahren das komplett in der GPU läuft hat nun mal die Krankheit das Trisetup zu überlasten.

Was wir hier jetzt machen ist eine Flaschenhals Diskussion. Eine solche kann man aber nicht wirklich anhand eines Benchmark Ergebnisses machen weil sich Flaschenhälse auch innerhalb eines Frames (sogar innherhalb eines Objekts) ständig verschieben können. Flaschenhälse zu suchen und zu analysieren ist ein Job den man nur dann erfolgreich durchführen kann wenn man vollen Zugriff auf die Sourcen hat.

Quasar
2004-02-17, 14:32:04
Original geschrieben von ow
Weil die 3DMarks als Fillratetests nichts taugen durch Bandbreitenlimitierung?

Ein Vergleich mit der RV350 "pro" zeigt das auch sehr schön. Die müsste nämlich schon 2,5 Pipes haben, um auf ihre, dank 50% höherer Bandbreite erreichten, 1020MPix/s zu kommen.


Original geschrieben von ow
Gemaess dem 3DMark whitepaper wuerde ich sogar von 3-facher Arbeit ausgehen, naemlich 3-passes pro Lichtquelle ggue. 1-pass pro LQ bei PS1.4.
/edit: Dass der 3DM03 jeglicher Praxistauglichkeit entbehrt (durch eben diese unsinnige Programmierung) wurde doch schon zur Genuege diskutiert.

Ja, nur damals wollte es von Razor (u.a.) keiner hören - es wurde einfach schnell die nVidiot-Schublade aufgemacht.

aths
2004-02-17, 17:19:05
Original geschrieben von ow
Weil die 3DMarks als Fillratetests nichts taugen durch Bandbreitenlimitierung?Bei der GF4 Ti werden recht vernünftige Zahlen gemessen. Vor allem der 2001-er scheint da brauchbar. Aber auch der 2001-er deutet bei der 9600 auf 2x2 hin.

Original geschrieben von ow
/edit: Dass der 3DM03 jeglicher Praxistauglichkeit entbehrt (durch eben diese unsinnige Programmierung) wurde doch schon zur Genuege diskutiert. Darum geht es nicht. Mit geht es darum, welcher Faktor bei GT2 und GT3 für die relativ vergleichbare Rendergeschwindigkeit dieser unterschiedlichen Karten sorgt.

aths
2004-02-17, 17:22:48
Original geschrieben von Demirug
Weil der Füllratentest im 3DMark einfach Müll ist.Bei der GF4 Ti kommen einigermaßen verständliche Werte raus, vor allem beim 2001-er. Wieso nicht bei der Radeon 9600?

Original geschrieben von Demirug
Das Schattenverfahren das komplett in der GPU läuft hat nun mal die Krankheit das Trisetup zu überlasten.Ich habe Patric gefragt, ob ich aus seiner Mail zitieren darf. Mal sehen :)

Doch wie gesagt, gegen die Triangle-Setup-Theorie spricht, dass die Radeon beim Force auf 1.1 nur wenig Leistung verliert. Oder habe ich da einen Denkfehler?

Original geschrieben von Demirug
Was wir hier jetzt machen ist eine Flaschenhals Diskussion. Japp :)
Original geschrieben von Demirug
Eine solche kann man aber nicht wirklich anhand eines Benchmark Ergebnisses machen weil sich Flaschenhälse auch innerhalb eines Frames (sogar innherhalb eines Objekts) ständig verschieben können. Flaschenhälse zu suchen und zu analysieren ist ein Job den man nur dann erfolgreich durchführen kann wenn man vollen Zugriff auf die Sourcen hat. Hrmrhm.

Die Karten skalieren gut über die Auflösung. An der CPU liegt es also nicht. Egal ob die 9600 mit 1.1 oder mit 1.4 arbeitet, die ist einigermaßen vergleichbar so schnell wie die Ti 4600. Das sind drei völlig unterschiedliche Szenarien, das dürften doch eigentlich nicht in relativ gleicher Geschwindigkeit münden?? Das ist mein Verständnisproblem.

aths
2004-02-17, 17:26:11
Original geschrieben von Quasar
Ja, nur damals wollte es von Razor (u.a.) keiner hören - es wurde einfach schnell die nVidiot-Schublade aufgemacht. Das "schlimme" ist ja, dass der 3DM-Score, wenn man reineweg DX9-HW bencht, tatsächlich grob die Leistung in Spielen wiedergibt. Das kann meinetwegen Zufall sein, aber das bessere Abschneiden der Radeons ist nicht nur für den 3DMark gültig. Das ist aber wie gesagt nicht mein Anliegen, über die Tauglichkeit als 'Gamers' Benchmark' zu reden. Mich wundert nur, warum zur Hölle die GF so langsam bzw. die Radeon so schnell ist, selbst wenn der gleiche Codepath verwendet wird. Dürfte imo nicht sein.

Demirug
2004-02-17, 18:10:04
Original geschrieben von aths
Bei der GF4 Ti kommen einigermaßen verständliche Werte raus, vor allem beim 2001-er. Wieso nicht bei der Radeon 9600?

Bandbreite.

Doch wie gesagt, gegen die Triangle-Setup-Theorie spricht, dass die Radeon beim Force auf 1.1 nur wenig Leistung verliert. Oder habe ich da einen Denkfehler?

Japp :)
Hrmrhm.

Die Karten skalieren gut über die Auflösung. An der CPU liegt es also nicht. Egal ob die 9600 mit 1.1 oder mit 1.4 arbeitet, die ist einigermaßen vergleichbar so schnell wie die Ti 4600. Das sind drei völlig unterschiedliche Szenarien, das dürften doch eigentlich nicht in relativ gleicher Geschwindigkeit münden?? Das ist mein Verständnisproblem.

Grundsätzlich ist alles möglich.

Die 1.1 Variante hat sicherlich einen anderen primären Flaschenhals als die 1.4 Variante. Wenn es dann etwa auf das gleiche hinausläuft ist das mehr oder minder ein Zufall.

ow
2004-02-17, 19:34:32
.

Quasar
2004-02-17, 20:08:52
ow,
die r9600 bietet lt. 3DM2001SE ca. 690MPix und etwa 1200MTex.

Eine R9600p allerdings kommt schon auf 1GPix/1,5GTex pro Sekunde. Das sagt IMO schon genug aus - kein 2x2 bei den Radeons.

ow
2004-02-17, 21:03:14
Dann ist´s hier wirklich nur der magere Speichertakt der 9600 der die Fillrate so drückt.

Quasar
2004-02-17, 21:27:47
Original geschrieben von aths
Die Karten skalieren gut über die Auflösung. An der CPU liegt es also nicht. Egal ob die 9600 mit 1.1 oder mit 1.4 arbeitet, die ist einigermaßen vergleichbar so schnell wie die Ti 4600. Das sind drei völlig unterschiedliche Szenarien, das dürften doch eigentlich nicht in relativ gleicher Geschwindigkeit münden?? Das ist mein Verständnisproblem.
Ok, jetzt habe ich's glaube ich auch verstanden. Deine Radeon9600 np ist in den drei ersten Game-Tests (in etwa) so schnell wie deine Ti4600, richtig?

Ok, bei mir war's so (mit Det44.03 und Cat3.6 und beim jeweiligen default-Pfad nur ), daß die Ti4800 im GT1 ca. 30% Vorsprung hatte (90 zu 120fps), bei den beiden anderen Tests allerdings ein wenig zurücklag (um und bei 10%).

Interessanterweise scheint dem 3DMark aber Bandbreite recht wichtig. Das fällt normalerweise nur wenig auf, aber beim direkten Vergleich meiner FX5800U und einer FX5900u (die zwar knapp die doppelte Bandbreite, aber weniger Füllrate (ja, ich weiß) hat), war letztere in den GT2 und 3 ca. 10% schneller. Nix bessere FP32-Leistung - im GT4 waren es nur noch 3% Vorsprung. Ich denke, die Mehrleistung kommt hier von der Bandbreite her.

Nun wäre es IMO interessant zu sehen, ob die R9600 überhaupt auf "Force PS1.1" korrekt reagiert, sprich, sich wirklich wie ein PS1.1-Design verhält und nicht Treiber bzw. GPU selber erkennen, welche 1.1-Shader sie selbstständig kollabieren können und zwar in [b]2.0[/i]-Shader. Das würde selbst in GT2 und 3 gegenüber PS1.4 noch den einen oder anderen Pass sparen. So wäre nur der höhere Vertexdurchsatz vom Erzwingen des PS1.1 betroffen - deswegen nur vergleichsweise geringe Verluste.

Im Gegentum leistet nämlich eine R9000p, die immerhin über deutlich mehr Bandbreite verfügt, als deine R9600np, hier soviel, wie man von einem 4x1-Chip erwarten könnte - sie kann die Shader nicht direkt in 2.0-Shader kollabieren.

Gewagte These, ich weiß, aber wenn die R3xx-Chips intern sowieso alles mit FP24 rechnen, warum nicht gleich auch die gesamten Vorteile davon mitnehmen?

edit:
Eine FX ist natürlich "froh", möglichst "kleine" Pixelshader rechnen zu dürfen, fällt dafür aber mit absoluter Sicherheit sowohl ins Geometrie- als auch ins Multi-Pass-Loch.
Zum Vergleich, meine FX bricht bei PS1.1 in GT2 um 19% und beim GT3 um 14% weg.

aths
2004-02-18, 03:39:35
Original geschrieben von Quasar
ow,
die r9600 bietet lt. 3DM2001SE ca. 690MPix und etwa 1200MTex.

Eine R9600p allerdings kommt schon auf 1GPix/1,5GTex pro Sekunde. Das sagt IMO schon genug aus - kein 2x2 bei den Radeons. Ok, das erklärt einiges.


Original geschrieben von Quasar
Ok, jetzt habe ich's glaube ich auch verstanden. Deine Radeon9600 np ist in den drei ersten Game-Tests (in etwa) so schnell wie deine Ti4600, richtig?Im GT1 ist die Ti spürbar schneller, in GT2 und 3 etwas langsamer.

Dass die Radeon aus 2 1.1-er Shadern einen 2.0-er machen kann, glaube ich nicht. Die Passes werden ja nacheinander gerender. Zum Zeitpunkt von Pass 1 ist der Shader für Pass2 noch nicht auf der Graka.

aths
2004-02-18, 03:41:50
Original geschrieben von Demirug
Bandbreite.



Grundsätzlich ist alles möglich.

Die 1.1 Variante hat sicherlich einen anderen primären Flaschenhals als die 1.4 Variante. Wenn es dann etwa auf das gleiche hinausläuft ist das mehr oder minder ein Zufall. Mangels besserer Erklärung akzeptiere ich das erst mal.

Demirug
2004-02-18, 07:28:02
Original geschrieben von Quasar
Nun wäre es IMO interessant zu sehen, ob die R9600 überhaupt auf "Force PS1.1" korrekt reagiert, sprich, sich wirklich wie ein PS1.1-Design verhält und nicht Treiber bzw. GPU selber erkennen, welche 1.1-Shader sie selbstständig kollabieren können und zwar in [b]2.0[/i]-Shader. Das würde selbst in GT2 und 3 gegenüber PS1.4 noch den einen oder anderen Pass sparen. So wäre nur der höhere Vertexdurchsatz vom Erzwingen des PS1.1 betroffen - deswegen nur vergleichsweise geringe Verluste.

Eine automatische Passreduktion ist nur machbar wenn man das Programm sehr genau kennt. Das würde einem Cheat sehr nahe kommen. Zudem muss man aufhören bei Shadern in Versionsnummer zu denken sobald sie mal durch den Treiber sind. Der Treiber macht aus allen (1.1, 1.4, 2.0) ein R300 Shaderprogramm.

AFAIR reicht 1.4 aus um jeweils eine Lichtquelle in einem Pass zu bearbeiten. Da der Stencilbuffer da auch eine Rolle spielt kann man nicht mehr weiter zusammenfassen.

Demirug
2004-02-18, 07:44:58
Original geschrieben von aths
Mangels besserer Erklärung akzeptiere ich das erst mal.

Ohne das ganze zu zerlegen und einzelen durchzumessen wirst du auch keine bekommen. Der Punkt ist aber das selbst wenn der 1.4 Pfad doppelt so schnell wie der 1.1 Pfad wäre die FPS sich nicht halbieren kann. Es gibt ja auch noch den Z und Schattenpass. Diese bleiben gleich schnell. Der Lichtpass macht ja nur einen Prozentteil von gesamten Bild aus. Zudem dürfte sich wie gesagt der Flaschenhals verschieben.

Bei 1.1 sieht es vermutlich irgendwie so aus:


|P1 |P2 |P3
VS |****|****|****
PS |*** |*** |***


Eine VS Limitierung

Kommt 1.4 zum Einsatz dürfte sich das ganze in etwa so darstellen:


|P1
VS |****
PS |*********


Es entsteht eine PS limitierung. Wie lange die Balken nun genau sind kann nur eine entsprechden Detailmessung zeigen die aber mit den zur verfügung stehenden Mitteln so nicht machbar ist.

aths
2004-02-18, 09:23:50
Die Wolken verziehen sich, der Himmel klar auf, wo Dunkelheit war, scheint nun Licht ...

Danke, demigod.

marco42
2004-02-18, 09:51:31
Original geschrieben von Demirug
Es entsteht eine PS limitierung. Wie lange die Balken nun genau sind kann nur eine entsprechden Detailmessung zeigen die aber mit den zur verfügung stehenden Mitteln so nicht machbar ist.

Gab es da nicht ein Programm von NVidia, wo man sich das anzeigen lassen konnte. Ich kenne das noch von der Onyx2 mit der Instruments Extension (http://oss.sgi.com/projects/ogl-sample/registry/SGIX/instruments.txt). Das war wirklich sehr nuetzlich. Auch den OpenGL debugger vermisse ich reichlich.

Demirug
2004-02-18, 10:09:30
Original geschrieben von marco42
Gab es da nicht ein Programm von NVidia, wo man sich das anzeigen lassen konnte. Ich kenne das noch von der Onyx2 mit der Instruments Extension (http://oss.sgi.com/projects/ogl-sample/registry/SGIX/instruments.txt). Das war wirklich sehr nuetzlich. Auch den OpenGL debugger vermisse ich reichlich.

Es gibt etwas aber leider ist das nicht so genau.

Das Tool zeigt nur an wie viel Zeit eines Frames auf die Applikation, den Treiber, die GPU und eventuele Wartezeiten entfällt.

Auch das neue DX PerformanceTool nützt da leider nichts.

marco42
2004-02-18, 14:32:39
Original geschrieben von Demirug
Es gibt etwas aber leider ist das nicht so genau.

Das Tool zeigt nur an wie viel Zeit eines Frames auf die Applikation, den Treiber, die GPU und eventuele Wartezeiten entfällt.

Auch das neue DX PerformanceTool nützt da leider nichts.

Hmm. Waere vielleicht mal eine Anregung fuer Nvidia und und ATI die Instruments zu implementieren.