PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : DirectX 9 Performance


KM
2003-11-04, 18:06:30
Ich habe mal folgendes Tutorial von ATI und NVidia per google gefunden: (google hat ATI.com neu gescannt :))
http://mirror.ati.com/developer/gdc/D3DTutorial3_Pipeline_Performance.pdf
Einiges ist interessant.
Seite 28:
OpenGl ist auf langsamen CPUs 1,7 bis 2,3 mal schneller als D3D.
Seite 34:
GHz (CPU) gegen GFlops (GPU) verglichen.
Aber hier heißt es: GeforceFX >200 GFlops/"32-bit AA Fill"/MTris
Seite 39,49: macht es bitte :lol:

Crushinator
2003-11-04, 18:11:52
Original geschrieben von KM
OpenGl ist auf langsamen CPUs 1,7 bis 2,3 mal schneller als Im richtigen Kontext wiedergegeben trifft es allerdings nur auf den angegebenen Chip von *hust* nVIDIA zu. ;)

KM
2003-11-04, 18:16:06
Original geschrieben von crushinator
Im richtigen Kontext wiedergegeben trifft es allerdings nur auf den angegebenen Chip von *hust* nVIDIA zu. ;)
Ja, sollte klar sein.
Habe paar Seiten noch vergessen: ab Seite 19

Demirug
2003-11-04, 18:24:50
Jungs, lasst die Finger von Entwicklerdokumenten oder lesst sie wenigstens komplett.

OpenGl ist auf langsamen CPUs 1,7 bis 2,3 mal schneller als D3D.

Tut mir leid aber das steht dort nicht.

Wenn die Kurve nicht für ATI gilt dann brauchen sie mal bessere OpenGL Treiber. ;)

KM
2003-11-04, 18:42:15
Original geschrieben von Demirug
Jungs, lasst die Finger von Entwicklerdokumenten oder lesst sie wenigstens komplett.
Ich habe es komplett durchgelesen, aber einiges noch nicht ganz verstanden. Aber einiges ist schon interessant.
Tut mir leid aber das steht dort nicht.

Wenn die Kurve nicht für ATI gilt dann brauchen sie mal bessere OpenGL Treiber. ;)
Ok, es gilt für 1 GHz P3 mit NVidia Geforce4 TI 4600. Jetzt korrekt? :)
Hat dann NVidia keine guten OpenGL Treiber?

Crushinator
2003-11-04, 18:50:05
Original geschrieben von KM
(...)
Hat dann NVidia keine guten OpenGL Treiber? Die Frage sollte eher lauten, wieviel der Treiber durch die CPU erledigen läßt. Dann erst sollte man sich über die Definition von "gut" streiten. :D

Endorphine
2003-11-04, 18:55:11
Demi,

aus dem Dokument zitiert: Pass Reduction (“PR”)
•Use the most powerful shader available to reduce the total number of passes required to render a given thing to a given standard.
–Use ps2.0 to PR1.x techniques
•Usually n passes -> 1 pass
–Use ps1.4 to PR1.1 –1.3 techniques
•Commonly 2 passes -> 1 pass
–Use ps1.x to PRfixed function Ist nicht gerade das Gegenteil von Vorteil? Also den niedrigst möglichen Shaderlevel zu verwenden, um die maximale Leistung herauszuholen und nicht Trivialshader mit xS2.0 zu schreiben? :confused:

Die beschriebene Methodik dürfte ATI entgegenkommen und nVidia Probleme bereiten, wie bei Valve mit HL2 geschehen. Da aber das Dokument von nVidia und ATI gemeinsam gezeigt werden sollte - wieso sollte nVidia etwas sagen, was vom Nachteil für NV3x Karten ist?

Demirug
2003-11-04, 18:55:54
Original geschrieben von KM
Ok, es gilt für 1 GHz P3 mit NVidia Geforce4 TI 4600. Jetzt korrekt? :)

Die Zahlen beziehen sich schon auf diese Kombination. Mit einer anderen Kombination würde es aber ein ähnliches Verhältniss geben.

Die Grundaussage: "OpenGl ist [...] 1,7 bis 2,3 mal schneller als D3D" ist so nicht ganz richtig.

Das Diagramm zeigt an das man mit OpenGL 1,7 bis 2,3 mal mehr Renderjobs in der gleichen Zeit an die Grafikkarte übergeben kann. Nur wenn man ständig an genau diesem Flaschenhals hängt ist man mit OpenGL 1,7 bis 2,3 mal schneller. Um aber ständig an diesem Punkt zu sein dürfte das Spiel nicht machen aus Renderjobs zu starten. Keine AI, keine Phyisk, ... .

Hat dann NVidia keine guten OpenGL Treiber?

Doch, deswegen ist ja die Spanne da.

KM
2003-11-04, 19:01:55
Original geschrieben von Demirug
Die Zahlen beziehen sich schon auf diese Kombination. Mit einer anderen Kombination würde es aber ein ähnliches Verhältniss geben.

Die Grundaussage: "OpenGl ist [...] 1,7 bis 2,3 mal schneller als D3D" ist so nicht ganz richtig.

Das Diagramm zeigt an das man mit OpenGL 1,7 bis 2,3 mal mehr Renderjobs in der gleichen Zeit an die Grafikkarte übergeben kann. Nur wenn man ständig an genau diesem Flaschenhals hängt ist man mit OpenGL 1,7 bis 2,3 mal schneller. Um aber ständig an diesem Punkt zu sein dürfte das Spiel nicht machen aus Renderjobs zu starten. Keine AI, keine Phyisk, ... .

Doch, deswegen ist ja die Spanne da.
Bin durch das Dokuement ganz konfus geworden. ?-) Stimmt schon.
Gehe mal meinen Gehirn mit Kaffee lüften.

Demirug
2003-11-04, 19:10:27
Original geschrieben von Endorphine
Demi,

aus dem Dokument zitiert: Ist nicht gerade das Gegenteil von Vorteil? Also den niedrigst möglichen Shaderlevel zu verwenden, um die maximale Leistung herauszuholen und nicht Trivialshader mit xS2.0 zu schreiben? :confused:

Die beschriebene Methodik dürfte ATI entgegenkommen und nVidia Probleme bereiten, wie bei Valve mit HL2 geschehen. Da aber das Dokument von nVidia und ATI gemeinsam gezeigt werden sollte - wieso sollte nVidia etwas sagen, was vom Nachteil für NV3x Karten ist?

Dazu muss man zuerst den Gesamtkontext des Dokuments sehen. Das Dokument soll erklären warum man trotz (oder gerade wegen) einer Highend GPU am CPU limit hängt und was man dagegen tun kann. Wenn die CPU der Flachenhals ist dreht die GPU ja sowieso leer. Passreduktion entlastet primär die CPU. Zudem wird aber auch der VS und die Bandbreite der GPU geschont. Also wenn die GPU ja sowieso nicht genügend Arbeit hat kann man ihr auch 2.0 Shader geben.

Als zweites muss man den Text ganz genau lesen.

- Man soll aus mehren 1.x Shadern einen 2.0 Shader bauen.
- Man soll aus 2 1.1-1.3 Shader wenn möglich einen 1.4 Shader bauen.
- Man soll aus DX7 Stagesetup PS 1.x Shader bauen.

Ergo: Nur die Shaderversion nutzen die gerade ausreicht um Multipass auf Singelpass zu reduzieren.

Was Valve gemacht hat war die ganzen standard Trivialshader auch mit PS 2.0 zu realisieren.

aths
2003-11-04, 21:00:13
Original geschrieben von Demirug
- Man soll aus DX7 Stagesetup PS 1.x Shader bauen. Finde ich auch, aber wer hat das schon umgesetzt?

Demirug
2003-11-04, 21:07:10
Original geschrieben von aths
Finde ich auch, aber wer hat das schon umgesetzt?

Macht eigentlich jeder. Und wenn es nur darum geht "Unterstützt Pixelshader" auf die Packung zu schreiben.

Ein gutes Beispiel für die gesamte Liste ist AN2.

aths
2003-11-04, 21:17:30
Original geschrieben von Demirug
Macht eigentlich jeder. Und wenn es nur darum geht "Unterstützt Pixelshader" auf die Packung zu schreiben.

Ein gutes Beispiel für die gesamte Liste ist AN2. Was ist AN2?

Wird denn komplett auf DX8 PS.1.1 umgestellt, oder findet hier nur eine zuschaltbare Passreduktion für DX8-Karten statt?

Demirug
2003-11-04, 21:24:23
Original geschrieben von aths
Was ist AN2?

Aquanox 2

Wird denn komplett auf DX8 PS.1.1 umgestellt, oder findet hier nur eine zuschaltbare Passreduktion für DX8-Karten statt?

Passreduktion für DX8/DX9 Karten auf den älteren Karten soll es ja auch noch laufen. Passreduktionen lassen sich mit den entsprechenden Tools leicht automatisch erzeugen.

KM
2003-11-04, 21:24:34
@Demi
Habe das Dokument mit 2 Tassen Kaffee in Ruhe gelesen. Nun wird jetzt für mich mit Deinen Erklärungen verständlicher.
Die Spiele-Programmierung reizt mich immer mehr. Wie kann man so etwas lernen?

Demirug
2003-11-04, 21:32:16
Original geschrieben von KM
@Demi
Habe das Dokument mit 2 Tassen Kaffee in Ruhe gelesen. Nun wird jetzt für mich mit Deinen Erklärungen verständlicher.
Die Spiele-Programmierung reizt mich immer mehr. Wie kann man so etwas lernen?

Alles was man an Informationen bekommen kann lesen und zu verstehen versuchen. Natürlich sollte man das Programmieren als solches beherschen.

Allerdings sollte man sich sehr genau überlegen ob man wirklich in der Brache arbeiten will. Es gibt angenehmere Wege sein Geld zu verdienen und der Spassfaktor wird oft überschätzt.

KM
2003-11-04, 21:45:16
Original geschrieben von Demirug
Alles was man an Informationen bekommen kann lesen und zu verstehen versuchen. Natürlich sollte man das Programmieren als solches beherschen.

Allerdings sollte man sich sehr genau überlegen ob man wirklich in der Brache arbeiten will. Es gibt angenehmere Wege sein Geld zu verdienen und der Spassfaktor wird oft überschätzt.
Programmieren kann ich schon, aber mit DX oder OGL noch nicht. Habe auch nicht vor zu arbeiten, da ich in einigen Berichten sehen musste, dass Spiele-Programmierer, Hardware-Designer über Monate/Jahre hinweg fast ständig extrem gestresst sind.

Edit
Danke noch

aths
2003-11-09, 17:35:09
Original geschrieben von Demirug
Was Valve gemacht hat war die ganzen standard Trivialshader auch mit PS 2.0 zu realisieren. Wären die FXen denn besser dran mit 1.4??

Razor
2003-11-09, 17:41:48
Original geschrieben von aths
Wären die FXen denn besser dran mit 1.4?? Das wohl nicht... aber mit 1.1... oder gar mit 'FixedFunction'...

Razor

LovesuckZ
2003-11-09, 17:43:01
Original geschrieben von aths
Wären die FXen denn besser dran mit 1.4??

In anbetracht, dass ich in Halo vor dem 52.16 eine Steigerung von 11 FPS von PS2.0 zu PS1.4 erfuhr und es jetzt beim 52.16 immerhin noch 8 FPS sind (40->48) würde ich sagen:
ja

Demirug
2003-11-09, 17:47:37
Original geschrieben von aths
Wären die FXen denn besser dran mit 1.4??

Ja, mit 1.4 kann man ganz legal die Regcombiner benutzten. Wobei ich nicht ausschliessen will das man das bei HL2 sowieso macht.

LovesuckZ
2003-11-09, 17:49:44
Original geschrieben von Demirug
Ja, mit 1.4 kann man ganz legal die Regcombiner benutzten.

Wurde dies erst mit dem 45.23 (um nur bei den Referenztreiber zu bleiben) getan oder auch schon früher?

Razor
2003-11-09, 17:53:40
Original geschrieben von LovesuckZ
In anbetracht, dass ich in Halo vor dem 52.16 eine Steigerung von 11 FPS von PS2.0 zu PS1.4 erfuhr und es jetzt beim 52.16 immerhin noch 8 FPS sind (40->48) würde ich sagen:
ja Nun ja...
Bei mir (FX5900) sind die PS2.0 minimal schneller !
:|

Razor

P.S.: Und es würde sich schon lohnen von min fp16 auf int12 oder gar noch geringer gehen zu können, wenn möglich... alleine DAS dürfte erhebliche Proformance-Vorteile mit sich bringen.

Demirug
2003-11-09, 17:56:14
Original geschrieben von LovesuckZ
Wurde dies erst mit dem 45.23 (um nur bei den Referenztreiber zu bleiben) getan oder auch schon früher?

Wann nun genau was eingebaut wurde weiss ich nicht. Bei den ersten Treibern gab es bei den 1.4 Shader aber eindeutig noch das Problem mit der Blockbildung.

The_Invisible
2003-11-18, 16:47:05
Original geschrieben von Razor
Nun ja...
Bei mir (FX5900) sind die PS2.0 minimal schneller !
:|

Razor

P.S.: Und es würde sich schon lohnen von min fp16 auf int12 oder gar noch geringer gehen zu können, wenn möglich... alleine DAS dürfte erhebliche Proformance-Vorteile mit sich bringen.

also bei mir liegen auch keine großen (performance) unterschiede zwischen den shadern, ein paar (1-4) fps wo es sich nicht auszahlt was anderes als PS2.0 zu verwenden

mfg