PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Crytek, Shaderpfade und das zweimal verkaufte Pferd.


Demirug
2004-07-27, 22:30:31
Ich kann mir denken das den meisten jetzt ein oder zwei Fragen in den Sinn gekommen sind. Ist diese Crytek fxierung von Demi heilbar und was macht dieser Thread hier?

Zur ersten Frage weiss ich die Antwort nicht. Es hängt vielliecht damit zusammen das man öfter der Meinung war ich würde dort arbeiten. Die zweite Frage ist etwas einfacher. Der Thread hätte sicherlich auch in das Far Cry Forum gepasst. Da Far Cry hier aber nur als Beispiel für eine unschöne Entwicklung dient und es um das Verhältniss zwischen Entwickler und Grafikchips/IHVs geht schien er mir hier besser aufgehoben.

Drehen wir also das Rad der Zeit etwas zurück und werfen einen Blick auf die Zeit bevor es den Patch 1.2 öffentlich zum Download gab. In der Presse geisterten Benchmarks herum welche zeigten wie dank dem "überlegen" Shadermodel 3 Farcry plötzlich schneller wird. nVidia freute sich darüber und die Käufer sahen das NV40 gut war. Beim öffentlichen Release des Patch 1.2 hat der sogenante SM30path plötzlich einen Bruder bekomme. Jetzt gab es auch einen SM2Bpatch welcher nun auch den R420 bei Farcry beschleunigte. ATI freute sich und der Käufer sah das der R420 auch gut ist. Soweit die Geschichte die inzwischen viele mitbekommen haben dürften.

Crytek ist doch eine wunderbare Firma oder? Erst optimieren sie ihr Spiel für alle NV40 Besitzer und dann nehmen sie auch noch die Mühe auf sich und tun das gleiche für die R420 Eigner. Wer mich kennt dürfte den Sarkasmuss erkannt haben. Um es kurz zu machen der sogenannte SM30 Pfad und der SM2B Pfad benutzen fast genau den gleichen HLSL-Shader. In über 450 Zeilen Code gibt es 8 Unterschiede. Man hätte beide shader auch leicht zu einem zusammenfassen können.

Einen Unterschied gibt es freilich doch aber dieser wird erst beim compilieren akutt. Mit dem 3.0 Profil des Compilers lassen sich aus dem HLSL Shader entsprechenden Shader mit bis zu 4 Lichtquellen erzeugen. Das 2.B Profil vermag dies nur gesichert mit bis zu 3 Lichtquellen. Das 2.A Profil welches für NV3X Chips gedacht ist könnte auch 3 Lichtquellen anbieten und sogar das einfache 2.0 Profil welches die Masse der DX9 Chips als Maximum anbieten könnte in der Regel mehr als eine Lichtquelle in einen Pass bringen. Alles mit dem gleichen HLSL Shader und auch mit dem gleichen Code in der Engine. Lediglich die maximale Anzahl der Lichtquellen müsste einmal am Anfang gestzt werden. Alternativ könnte man aber auch erst mal probieren alle in einen Pass zu setzten und wenn man merkt das es nicht reicht aufteilen. Eine Lösung von der alle Farcry-Spieler profitiert hätten und auch nicht aufwendiger als die beiden Pfade SM30 und SM2B die der Patch 1.2 enthalten hat.

Nur hätte man dann das Pferd nur einmal verkaufen können. Mit iherer Lösung haben Crytek nun zweimal Presserummel bekommen einmal für den SM30 Pfad und nochmal für den SM2B Pfad.

Die Bewertung dieser Vorgehensweise möchte ich jedem selbst überlassen auch wenn meine Meinung dazu wohl bekannt ist.

So und jetzt dürft ihr mich hauen.

Banshee18
2004-07-27, 22:48:25
*Demihau*
Wundert dich so etwas, in einer Zeit, in der sich alles ums Geld und um Umsatz dreht? Für uns Spieler ist das natürlich nicht das Gelbe vom Ei, aber versetz dich mal in die Lage von Crytec.
Und außerdem, sieh es optimistisch: Du hattest was zum Basteln und wir alle etwas zum Diskutieren. Wäre die Welt nicht langweilig ohne solche Dinge?;D

Kann man im Moment eigentlich irgendwie OI auf R3x0-Karten benutzen?

Kann der R3x0 auch 3dc? :chainsaw:

mfg

Banshee

mapel110
2004-07-27, 22:50:52
ist schon möglich, dass alles nur PR ist. Schliesslich war der Singleplayer-part schon recht lange fertig(hat sich ja nur wegen multiplayer verzögert) und solche Optimierungsmöglichkeiten hätten frühzeitig erkannt werden können.
naja, wenn man sichs überlegt, sollte man auf solche optimierungs-möglichkeiten schon beim ersten Coden kommen.

Demirug
2004-07-27, 23:05:30
Banshee18, aus der geschäftspolitischen marketingtechnische Sicht verstehe ich das ganze ja auch.

Wenn OI bei den Radeons als Softwarelösung vom treiber gemacht wird können es theoretisch auch die R3XX wenn Crytek OI allerdings mit den neuen Pfaden verknüpft hat wird das erst mal nicht so einfach.

3dc können die R3XX sicher nicht.

mapel110, das Zusammenfassen von mehreren Lichtquellen war eines der ersten PS 2.0 Beispiele die ATI damals bei der R300 Vorstellung gebracht hat. Desweiteren sind solche Optimierung eine offensichtliche Sache für jeden der von der Materie Ahnung hat.

Banshee18
2004-07-27, 23:15:18
OI geht ja schon mit irgendeinem Beta-Treiber, den ich aber nirgends finden kann. Verschiedene Sites haben das schon getestet, falls es dir entgangen ist.

http://www.forum-3dcenter.org/vbulletin/showthread.php?s=&threadid=157835

Mit diesem Treiber gehts ja anscheinend nicht.

Das mit dem 3DC war natürlich Sarkasmus.

IVN
2004-07-27, 23:15:28
@Demtrug

Why dosent the 2.b path support 4 lighs ? This shader shuld not be so long.Can r420 calculate that in 1 pass?

q@e
2004-07-27, 23:17:40
Original geschrieben von Banshee18
[...] Beta-Treiber, den ich aber nirgends finden kann.

Kuck' mal im ATi-Forum bissel weiter unten vorbei. Cat4.8-Beta heisst der gute. ;)

EL_Mariachi
2004-07-27, 23:28:07
Jeder hier im 3dc dürfte inzwischen mitbekommen haben, dass sich die Hersteller im Spiele- und Grakageschäft nix zu schenken haben.

also Marketing Rummel hin oder her ...

Ich werd mir Far Cry trotzdem ganz sicher nicht kaufen. ( ganz egal wieviele Renderpfade die da noch hinterherpatchen. :D )

cya :wink:

Demirug
2004-07-27, 23:32:16
Original geschrieben von IVN
@Demtrug

Why dosent the 2.b path support 4 lighs ? This shader shuld not be so long.Can r420 calculate that in 1 pass?

The length is not the problem. In the case of more than 3 lights the R420 is running out of input registers. All 2.0 based pixelshader (2.0/2.X) only support 8 FP-input registers. Pixelshader 3.0 support 10 FP-input register. If you pack some values together it is possible to use 4 lights per pass with R420. But you can use the same trick with pixelshader 3 to get 5 lights per pass. The problem with this trick and pixelshader 2.0/2.X is that unpacking of input registers is not free. With pixelshader 3.0 it is free because you can select each element of the inputregister in any order with any instruction.

Jesus
2004-07-27, 23:41:11
was mich eher intressieren würde, ist, wie sowas zustandekommt:

SM2.0b (http://www.xbitlabs.com/misc/picture/?src=/images/video/farcry20b/ati_archive_sm20b_bg.jpg&1=1)

SM3.0 (http://www.xbitlabs.com/misc/picture/?src=/images/video/farcry20b/nvidia_archive_sm30_bg.jpg&1=1)

ist das eine folge des zusammenfassens von lichtquellen, wodurch die beleuchtungsqualität / reichweite abnimmt , fp16, oder hat crytek da gepfuscht ?

Jesus
2004-07-27, 23:56:18
Original geschrieben von deekey777

"We also see almost no differences between NVIDIA’s and ATI’s image quality ... under brief investigation."

;)

VooDoo7mx
2004-07-28, 00:21:04
Schön geschrieben Deekey!

Meiner Meinung nach ist die Arbeitsweise und die Updatepolitik von Crytek unter aller Sau!
Vielleicht sind ja auch nach dem Release von Far Cry alle Entwickler im Dauerurlaub und es kümmert sich nur ein schlecht bezahlter Student um den Support. :gruebel:

Wie ich schon in einen anderen Thread schrieb:

Ein neuer 2.0 Renderpfad für ATi Karten ab DX9 Tech-Class (fp 24 und 2.b) und einer für NV ab DX 9 Tech-Class( Fp32 und fp16 wo es keine Unterschiede gibt + 3.0) Karten hätte genügt. Aber stattdessen gibts jetzt zig Renderpfade und so gut wie jeder verliert den Überblick.

Zeit genug zum implemetieren war eigentlich lang genug...

DanMan
2004-07-28, 14:18:05
Was ist schlimmer als schlechte Presse? Richtig. Garkeine Presse. =)

Winter[Raven]
2004-07-28, 14:23:48
Tjö, man muss Demirug im Bezug auf Crytech auf voller Linie zustimmen.... Presse-BSE greift jetzt von Prominenten auf Firmen um die krankhaft versuchen in den Schlagzeilen zubleiben :(

avalanche
2004-07-28, 14:36:00
Original geschrieben von DanMan
Was ist schlimmer als schlechte Presse? Richtig. Garkeine Presse. =) Ich tippe mal darauf, dass die schlechte Presse von den Meisten garnicht als schlechte Presse interpretiert wird. Als erstes sieht es doch so aus, als ob sich Crytek eine Monster-Mühe macht, möglichst alles zu unterstützen und es macht den Anschein, als ob wirklich alles "Neue" (aktuelle Grafikkarten/SM3.0) voll ausgereizt werden. Dass es in den 450 Zeilen Code nur *8* Unterschiede gibt, weiß der "Normalsterbliche" nicht und denkt, wie Demi schon so schön formuliert hat, dass Crytek doch eine wunderbare Firma ist. Insofern ist die Presse nicht schlecht. Und mal ehrlich, wenn wir nicht die 8-Zeilen-Info von Demi hätten, würden wir uns da auch nicht (so intensiv) mit auseinandersetzen.

tokugawa
2004-07-28, 14:46:42
Original geschrieben von Jesus
was mich eher intressieren würde, ist, wie sowas zustandekommt:

SM2.0b (http://www.xbitlabs.com/misc/picture/?src=/images/video/farcry20b/ati_archive_sm20b_bg.jpg&1=1)

SM3.0 (http://www.xbitlabs.com/misc/picture/?src=/images/video/farcry20b/nvidia_archive_sm30_bg.jpg&1=1)

ist das eine folge des zusammenfassens von lichtquellen, wodurch die beleuchtungsqualität / reichweite abnimmt , fp16, oder hat crytek da gepfuscht ?

Wie in aller Welt kommst du auf die Idee, dass das Zusammenfassen von Lichtquellen in einen Pass/einen Shader die "Beleuchtungsqualität" oder die "Reichweite" reduziert?

Jesus
2004-07-28, 15:00:06
ich weiss es nicht, bin ich jesus ( nicht wirklich ;) ) ? ich hab keine ahnung wie der shader aussieht, ausserdem war das keine feststellung sondern eine frage ( von 3 en )...

aber:

Original geschrieben von Demirug
Bei der Lichtstärke wird bei Farcry nicht nur gerechnet. Da kommt asuch noch eine Texture ins Spiel. Möglicherweise ergeben sich daraus unterschiede.

Holundermann
2004-07-28, 15:51:57
ich hab zwar von der materie keine ahnung, aber könnte es nicht sein das crytek sich hingehockt hat und drüber nachgedacht hat das man sm3 implementieren kann. gesagt getan und schon bald kamen akzebtable ergebnise. dann kam ein findiger kopf und meinte: "hey, das geht ja auch mit dem sm 2b von ati, wär doch unfair wenn wir nur für nv optimieren"

wieder gesagt getan, im endeffekt kommts doch nur dem user zugute, wieso hält man crytech vor das sie im nachhinein schnellere renderpfade einbauen? nur wegen der art und weise? vielleicht ist die nicht ganz glücklich gewählt, aber immerhin machen sie sowas überhaupt, finde dafür sollte crytech respekt gezollt werden...

überhaupt finde ich hat crytech ganze arbeit geleistet. nun gut, ka was da im hintergrund abläuft, aber ist, meiner meinung, derzeit die beste engine auf dem markt. nicht nur das sie die neuesten effekte integriert hat, nein, es ist auch absolut abwärtskompatibel und läuft sogar auf meiner ti absolut flüssig. und das haben spiele mit einer weitaus schlechteren optik (joint ops, bf:v) nicht geschafft... da wird jedes fizelchen engine zerpflückt, gemotzt und dergleichen obwohl es nichtmal vergleichbare qualität zu der leistung gibt, von keinem der anderen spieleschmieden.

zu den bildern von jesus: ist das nicht einmal mit taschenlampe, einmal ohne :D

edit: was mir noch eingefallen ist: vor einem monat hast dich noch beschwert dass das nur für sm3 umgesetzt wird und nicht für die erweiterten pfade des nv35 und jetzt weil eben dieses gemacht wurde.

Jesus
2004-07-28, 16:40:57
Original geschrieben von Holundermann
zu den bildern von jesus: ist das nicht einmal mit taschenlampe, einmal ohne :D


eh nein es sieht nur fast so aus ;) siehst du auch an dem taschenlampensymbol rechts :)

Demirug
2004-07-28, 16:56:02
Original geschrieben von Holundermann
edit: was mir noch eingefallen ist: vor einem monat hast dich noch beschwert dass das nur für sm3 umgesetzt wird und nicht für die erweiterten pfade des nv35 und jetzt weil eben dieses gemacht wurde.

Der NV35 muss sich immer noch mit dem unoptimierten Pfad herumschlagen. Die Optimierung wurde nur für den NV40 und R420 eingebaut. Das ist der eine grund warum ich mich immer noch beschwere. Der zeite Grund ist das man den eigentlich identischen SM30 und SM2B Pfad jeweils getrennt als grosse wohltat an die Menschheit verkauft hat.

deekey777
2004-07-28, 17:03:15
Original geschrieben von Demirug
Der NV35 muss sich immer noch mit dem unoptimierten Pfad herumschlagen. Die Optimierung wurde nur für den NV40 und R420 eingebaut. Das ist der eine grund warum ich mich immer noch beschwere. Der zeite Grund ist das man den eigentlich identischen SM30 und SM2B Pfad jeweils getrennt als grosse wohltat an die Menschheit verkauft hat.

... Und der SM2b Pfad funktioniert nicht einmal richtig.

Holundermann
2004-07-28, 17:22:27
... Und der SM2b Pfad funktioniert nicht einmal richtig.

hat ja auch noch beta status. ändert aber nichts an der tatsache das man crytek nicht vorwerfen kann das sie ihn eingebaut haben...

Der zeite Grund ist das man den eigentlich identischen SM30 und SM2B Pfad jeweils getrennt als grosse wohltat an die Menschheit verkauft hat.

Dazu hab ich noch eine frage, auch wenn sich die beiden pfade nur an 8 stellen unterscheiden, wäre es den überhaupt möglich gewesen es anders zu realisieren? ich meine in vielen spielen werden verschiedene renderpfade für verschiedene grakas angeboten, da wird sich ja auch nicht der komplette code unterscheiden...

Demirug
2004-07-28, 18:02:32
Original geschrieben von Holundermann
Dazu hab ich noch eine frage, auch wenn sich die beiden pfade nur an 8 stellen unterscheiden, wäre es den überhaupt möglich gewesen es anders zu realisieren? ich meine in vielen spielen werden verschiedene renderpfade für verschiedene grakas angeboten, da wird sich ja auch nicht der komplette code unterscheiden...

Ja man hätte das leicht in einem universalpfad für alle DX9 Karten zusammen fassen können.

LovesuckZ
2004-07-28, 18:23:28
Original geschrieben von Jesus
ist das eine folge des zusammenfassens von lichtquellen, wodurch die beleuchtungsqualität / reichweite abnimmt , fp16, oder hat crytek da gepfuscht ?

FP16.
Und nein, ob es qualitativ schlechter aussieht, haengt von der persoenlichen Meinung jedes einzelnen ab.

Mr. Lolman
2004-07-28, 19:02:09
Original geschrieben von LovesuckZ
FP16.
Und nein, ob es qualitativ schlechter aussieht, haengt von der persoenlichen Meinung jedes einzelnen ab.

Ich würd einfach sagen, dass beim SM3.0 Pfad eine Lichtquelle fehlt.


/oder, dass besagte Lichtquelle einen kleineren Radius hat.

Jesus
2004-07-28, 19:29:45
also obs gut aussieht dass die taschenlampe bis dahinter leuchtet an die säule oder ob sie viel eher aufhört finde ich nicht gerade meinungsabhängig ;) schliesslich will ich was sehen wenn ich sie anschalte ;)

seahawk
2004-07-28, 19:35:16
Also da fehlt definitiv eine Lichtquelle. Oder 2.0b hat eine zuviel. Irgendie ist es bei 2.0 vollkommen unrealistisch, da die Lichtquelle nur die Säule aufhellt.

Jesus
2004-07-28, 20:06:25
eh sie kann schlecht die luft aufhellen ;)

aber wenn du genau hinsiehst siehst du auch dass die seiten mehr ausgeleuchtet werden mit 2.0b ( im übrigen sieht 2.0 und 2.0b identisch aus )

Mr. Lolman
2004-07-28, 21:03:47
Original geschrieben von seahawk
Irgendie ist es bei 2.0 vollkommen unrealistisch, da die Lichtquelle nur die Säule aufhellt.

2.0 oder 3.0?

Gast
2004-07-28, 21:08:48
Ick wes net, der Patch wird überarbeitet warum drüber reden ^^
Und einer der Gurus meinte doch das sich 2.0b und 3.0 nur in 8 Codezeilen unterscheiden...
Wie kanns da zu grafischen Unterschieden kommen? SOLLTE ja nicht passieren... FarTCry halt

MadManniMan
2004-07-29, 01:13:45
Tja, ich wette da kommt nochmal ein 2.a Pfad :eyes:

Peavey
2004-07-29, 01:28:11
Und hier mal was dazu vom Inq:

HIER (http://www.theinquirer.net/?article=17444)


Das Lustigste als Auszug:

"...Something went wrong with Shader model 2.0b's optimisation and it completely broke the patch. Nvidia hasn’t got any problems with the 1.2 patch - the one we tested with its driver worked without any problems.

Maybe ATI can improve performance with its Shader model 2.0b optimisation if Crytek makes it work properly.

Next step is a 1.2 patch without this ATI optimisation and UBI will release this new patch shortly as it is working hard to finish it.

Just before we wrote this, ATI contacted us and said that it hasn't paid anything and that Crytek is developing new Shader 2.0b path for its hardware and for old Nvidia cards that fit into this category. "

DanMan
2004-07-29, 02:46:53
Tjo, da sag nochmal einer nV hätte die schlechteren Treiber.

tb
2004-07-29, 05:20:18
Original geschrieben von Demirug
The length is not the problem. In the case of more than 3 lights the R420 is running out of input registers. All 2.0 based pixelshader (2.0/2.X) only support 8 FP-input registers. Pixelshader 3.0 support 10 FP-input register. If you pack some values together it is possible to use 4 lights per pass with R420. But you can use the same trick with pixelshader 3 to get 5 lights per pass. The problem with this trick and pixelshader 2.0/2.X is that unpacking of input registers is not free. With pixelshader 3.0 it is free because you can select each element of the inputregister in any order with any instruction.

Ich find die Beschränkung auf nur 32 Temp Register(a 4 Werte) bei 2_b / 2_a viel schlimmer :( mit 3_0 hat man wenigstens 224 - da kann ich viel besser dicke Filter-Kernel verbraten...

Bei wem zuerst "D3DXGetPixelShaderProfile" ein "ps_2_b" bei ner X800 zurückliefert, der kann sich mal bei mir melden....

Thomas

Demirug
2004-07-29, 06:32:32
Original geschrieben von tb
Ich find die Beschränkung auf nur 32 Temp Register(a 4 Werte) bei 2_b / 2_a viel schlimmer :( mit 3_0 hat man wenigstens 224 - da kann ich viel besser dicke Filter-Kernel verbraten...

Da hast du aber jetzt einen Spezialfall wo man viele Temps braucht.

Bei wem zuerst "D3DXGetPixelShaderProfile" ein "ps_2_b" bei ner X800 zurückliefert, der kann sich mal bei mir melden....

Thomas

Dummerweise steht in der SDK Documentation nur was ein ps_2_a auslösst.

seahawk
2004-07-29, 08:15:19
Original geschrieben von Jesus
eh sie kann schlecht die luft aufhellen ;)

aber wenn du genau hinsiehst siehst du auch dass die seiten mehr ausgeleuchtet werden mit 2.0b ( im übrigen sieht 2.0 und 2.0b identisch aus )

Aber z.B. auch den Boden. Und da ist nichts. Sieht nach einer sehr punktuellen Lichtquelle aus.

Demirug
2004-07-29, 08:28:27
OT: Thomas, D3DXGetPixelShaderProfile wird in der aktuelle Version niemals ps_2_b zurück liefern. Die habe es einfach vergessen einzubauen. Habe mir gerade den Assemblercode deswegen angeschaut.

Radeonator
2004-07-29, 09:31:37
Mal ganz ab : Bei den Screens von Jesus, sieht der ATi Screen deutlich besser aus :|

Die Bildschärfe, die Plastizität, Schatten etc.

Ergo würde mir auf den ersten blick der erstere Renderpfad als der gelungenere vorkommen.

Mr. Lolman
2004-07-29, 09:34:09
Original geschrieben von Peavey
Und hier mal was dazu vom Inq:

HIER (http://www.theinquirer.net/?article=17444)


Das Lustigste als Auszug:


Nachdem was über diesen tollen SM3.0 Pfad (und dessen Unterschied zum 2.0b Pfad) bekannt ist, ist das eigentlich eine Sauerei.

Naja vielleicht schreibt ja die schrumpfende Community einen Mod, der den 3.0 Pfad auf ATi Karten aktiviert :naughty:

Demirug
2004-07-29, 09:37:31
Original geschrieben von Mr. Lolman
Nachdem was über diesen tollen SM3.0 Pfad (und dessen Unterschied zum 2.0b Pfad) bekannt ist, ist das eigentlich eine Sauerei.

Naja vielleicht schreibt ja die schrumpfende Community einen Mod, der den 3.0 Pfad auf ATi Karten aktiviert :naughty:

Was willst du mit 3.0 auf ATI Karten?

LovesuckZ
2004-07-29, 09:41:50
Original geschrieben von Mr. Lolman
Nachdem was über diesen tollen SM3.0 Pfad (und dessen Unterschied zum 2.0b Pfad) bekannt ist, ist das eigentlich eine Sauerei.


Wieso?
Demirug schrieb, dass "All 2.0 based pixelshader (2.0/2.X) only support 8 FP-input registers. Pixelshader 3.0 support 10 FP-input register. If you pack some values together it is possible to use 4 lights per pass with R420. But you can use the same trick with pixelshader 3 to get 5 lights per pass. The problem with this trick and pixelshader 2.0/2.X is that unpacking of input registers is not free. With pixelshader 3.0 it is free because you can select each element of the inputregister in any order with any instruction."
Sowie ich das verstehe, haben PS3.0 hier einen Vorteil gegenueber PS2.x.
Ansonsten kommt noch OI dazu.
ich sehe also, dass Crytek zwei spezielle Eigenschaften vom SM3.0 ausnutzt.

Mr. Lolman
2004-07-29, 09:46:54
Original geschrieben von Demirug
Was willst du mit 3.0 auf ATI Karten?

Der 3.0 Pfad unterscheidet sich doch nur in 8 Zeilen vom 2.0b Pfad. Warum sollte es die Community nicht fertigbringen diese 8 Zeilen selbst umzuschreiben.

Ich hab Farcry noch nicht durchgespielt. Z.T. liegts auch daran, dass man wunderschöne HDR/Offset Mapping Bilder zu Gesicht bekam, genauso wie dei Meldung dass das theoretisch auch eine R3x0 schaffen könnte. (Irgendwann, nachdem der Patch 1.3 released worden ist, in dem das für NV Karten freigeschalten wird, und die verärgerte Community diese Effekte auch für ATi verfügbar gemacht hätte)

Ich glaub man merkt an dieser Stelle schon, dass dies ein TWIMTBP Spiel ist. 1.0 auf ATi Karten schnell. 1.1 auf NV Karten schneller als 1.0. 1.2 auf NV FX Karten wieder langsamer, dafür Full Precision, SM3.0 Support, höhere Leistung auf 6800 Karten, und auf ATi Karten wieder langsamer.

Was merkt man? Die letzten 2 Patches kamen nur den NV Karten zugute, als ATi User kann man auch bei 1.0 bleiben., und sich gleichzeitig ärgern, dass die Dinge die auch die R300 beherrscht wahrscheinlich nur für die Nextgen Chips von NV verfügbar gemacht werden. :down:

Holundermann
2004-07-29, 10:00:53
Mal ganz ab : Bei den Screens von Jesus, sieht der ATi Screen deutlich besser aus

ich erkenn bei den screens von der image quali keinen unterschied, aber jeder wie er meint. davon abgesehn finde ich die beleuchtung vom sm20b pfad unpassend, woher soll den das licht auf der säule kommen? Die boden beleuchtung ist hingegen bei beiden karten ident. für mich ist das eine fehldarstellung im sm2b pfad...

Die letzten 2 Patches kamen nur den NV Karten zugute, als ATi User kann man auch bei 1.0 bleiben., und sich gleichzeitig ärgern, dass die Dinge die auch die R300 beherrscht wahrscheinlich nur für die Nextgen Chips von NV verfügbar gemacht werden.

was beherscht den die r300, hat nicht nur die x800 den erweiterten sm20b pfad? also wäre es schlicht unmöglich einen optimierten pfad für den r300 zu schreiben, nicht aber für den nv35...

Mr. Lolman
2004-07-29, 10:04:00
Original geschrieben von Holundermann
was beherscht den die r300, hat nicht nur die x800 den erweiterten sm20b pfad? also wäre es schlicht unmöglich einen optimierten pfad für den r300 zu schreiben, nicht aber für den nv35...

Wäre es nicht. OI kann der R300. Die Shader rechnen auch nur 1 Licht/Pass, wo min 2 möglich wären. Ja und dann irgendwann HDR und Offset Mapping. Kann alles auch ein R3x0 und nix davon wird wies aussieht verfügbar gemacht.

Holundermann
2004-07-29, 10:06:27
Wäre es nicht. OI kann der R300. Die Shader rechnen auch nur 1 Licht/Pass, wo min 2 möglich wären. Ja und dann irgendwann HDR und Offset Mapping. Kann alles auch ein R3x0 und nix davon wird wies aussieht verfügbar gemacht.

naja, aber dadurch einen nachteil zu sehn für ati ist vermessen, da für den nv35 ja min. das gleiche gilt...

Mr. Lolman
2004-07-29, 10:10:43
Original geschrieben von Holundermann
naja, aber dadurch einen nachteil zu sehn für ati ist vermessen, da für den nv35 ja min. das gleiche gilt...

Ich seh ja keinen Nachteil. Ich merke nur, dass schon seit 2 Patches (wenn denn das auch alles so stimmt, mit den Gerüchten über 1.2) Crytek sich ausschliesslich um NV Karten kümmert, und Dinge für NVs High End Geschosse verfügbar macht, die meine 1.75 Jahre alte 9700pro fast genauso beherrscht.


/edit: Ich hab bis jetzt nichts davon gehört, dass man OI auch am NV3x nutzen kann,. Wie siehts denn damit aus, Demi?

LovesuckZ
2004-07-29, 10:14:27
Original geschrieben von Mr. Lolman
OI kann der R300.

Das ist die Schuld von MS und nicht von Crytek.

Ja und dann irgendwann HDR und Offset Mapping. Kann alles auch ein R3x0 und nix davon wird wies aussieht verfügbar gemacht.

Offset Mapping unterstuetzt jede shaderfaehige Hardware (eventuell kann man es auch ueber die CPU laufen lassen).
HDR kann der r3xx/r420 nur begrenzt. Siehe dazu auch Futuremark:
[...]but in order to really utilize HDR, you also need full support for blending and filtering of float textures. (http://www.beyond3d.com/interviews/fm04/index.php?p=4).

Radeonator
2004-07-29, 10:15:01
Da hat aber jemand die letzten Wochen/Monate "etwas" gepennt. ATi unterstützt/besitzt keine SM3.0 :eyes:

Demirug
2004-07-29, 10:18:27
Mr. Lolman:

- Offestmapping ist auch im Singellight Shader vorgesehen.
- Für HDR braucht Crytek wohl FP-Alphablending da sieht ATI dann alt aus. Das umzustricken wird schwer und performancetechnisch wahrscheinlich eine grausame Sache.
- Über die Geschichte das die Multilight Shadern nur für die neusten Highendkarten benutzt werden ärgere ich mich ja selbst und arbeite an abhilfe.

Optimierungen für alte Karten lassen sich halt werbetechnisch nicht so gut ausschlachten wie Optimierungen für neue Karte die es zum Zeitpunkt des ursprünglichen Release noch gar nicht gegeben hat.

Bei alten Karten kann sowas halt auch nach hinten lossgehen weil man sich dann die Frage gefallen lassen muss warum man das nicht gleich eingebaut hat.

Demirug
2004-07-29, 10:20:21
Original geschrieben von Mr. Lolman
Ich seh ja keinen Nachteil. Ich merke nur, dass schon seit 2 Patches (wenn denn das auch alles so stimmt, mit den Gerüchten über 1.2) Crytek sich ausschliesslich um NV Karten kümmert, und Dinge für NVs High End Geschosse verfügbar macht, die meine 1.75 Jahre alte 9700pro fast genauso beherrscht.

- Was ist den mit dem SM20B Pfad und der extra Erkennung von OI für den R420?

- 3DC Support ist in die Shader auch schon eingefügt worden.

Original geschrieben von Mr. Lolman
/edit: Ich hab bis jetzt nichts davon gehört, dass man OI auch am NV3x nutzen kann,. Wie siehts denn damit aus, Demi?

nVidia hat sich bisher nicht dazu entschliessen können an der DX-Spec vorbei ein OI für die NV3X Chips über eine Treiberlösung anzubieten.

Mr. Lolman
2004-07-29, 10:30:53
Original geschrieben von Demirug
Mr. Lolman:

- Offestmapping ist auch im Singellight Shader vorgesehen.
- Für HDR braucht Crytek wohl FP-Alphablending da sieht ATI dann alt aus. Das umzustricken wird schwer und performancetechnisch wahrscheinlich eine grausame Sache.


- Vorgesehen? Du meinst, dass die Shader so gebaut wurden, dass man diese ohne grosse Änderungen auch für Offset Mapping nutzen könnte? Oder meinst du einfach, dass Crytek es geplant hat, Offset Mapping auch für Karten, die die Single Light Shader nutzen, verfügbar zu machen?

-Ich weiss nur, dass sowohl rthdribl als auch 3dmark03 mit Post Processing, auch R3x0s deutlich schneller läuft, als auf NV3xs. Und beide Beispiele nutzen HDR. Wo wär das Problem für Crytek?

Hat das FP-Alphablending problem was mit dem Backbuffer format zu tun? Da bietet ATi ja ohnehin auch eine andere Lösung an (X8R8G8B8)



/edit: OT, Wow ist der 4.7beta schnell. Hab bei rthdribl Fullscreen 1024x768, alles max zw. 27 und 35 fps...

Original geschrieben von Demirug
- Was ist den mit dem SM20B Pfad und der extra Erkennung von OI für den R420?

- 3DC Support ist in die Shader auch schon eingefügt worden.

- Das mein ich ja. Der SM2.0b Pfad wird aus dem Patch 1.2 wieder entfernt, und irgendwann später reinkommen, woran ich nucht ganz glaube, zumal ja schon Gerüchte laut wurden, dass Crytek nichteinmal den 1.2 Patch fertigstellen würde

-g00t, Solangs dann auch genutzt wird...

nVidia hat sich bisher nicht dazu entschliessen können an der DX-Spec vorbei ein OI für die NV3X Chips über eine Treiberlösung anzubieten.

-Dacht ich mir doch fast. Wird' aber wahrscheinlich ohnehin nur eine Frage der Zeit sein, falls ATi davon merkbar profitieren sollte...

Jesus
2004-07-29, 10:31:33
Original geschrieben von Holundermann
ich erkenn bei den screens von der image quali keinen unterschied, aber jeder wie er meint. davon abgesehn finde ich die beleuchtung vom sm20b pfad unpassend, woher soll den das licht auf der säule kommen? Die boden beleuchtung ist hingegen bei beiden karten ident. für mich ist das eine fehldarstellung im sm2b pfad...


taschenlampe an => leuchtet ( hat taschenlampe so an sich ;) ) es gibt an der stelle keine aktive beleuchtung ( siehe andere säulen ) das licht kommt nur von der taschenlampe, und da kommt eben viel zu wenig beim 3.0er pfad

Jesus
2004-07-29, 10:33:24
Original geschrieben von Mr. Lolman
- Vorgesehen? Du meinst, dass die Shader so gebaut wurden, dass man diese ohne grosse Änderungen auch für Offset Mapping nutzen könnte? Oder meinst du einfach, dass Crytek es geplant hat, Offset Mapping auch für Karten, die die Single Light Shader nutzen, verfügbar zu machen?


offsetmapping gibts schon ewig für FC ( und r3xx ) , siehe offsetmap demo

Holundermann
2004-07-29, 10:35:30
taschenlampe an => leuchtet ( hat taschenlampe so an sich )

oh mann, ich koffer, dann nehm ich alles zurück und behaupte das gegenteil :D

seahawk
2004-07-29, 10:35:41
Original geschrieben von Jesus
taschenlampe an => leuchtet ( hat taschenlampe so an sich ;) )

Also spart sich der N4X Pfad die BErechnung der Taschenlampe ??

Wobei, ist es sicher, dass die bei beiden an ist??

Jesus
2004-07-29, 10:37:01
Original geschrieben von seahawk
Also spart sich der N4X Pfad die BErechnung der Taschenlampe ??

Wobei, ist es sicher, dass die bei beiden an ist??

sieht man an dem symbol der aktivierten taschenlampe rechts :)

spart sich nicht die berechnung, rechnet wohl weniger, denn der radius ist kleiner ( siehe erstes b3d review des 1.2 patches ) und die reichweite wohl auch... das spart natürlich einiges an leistung ein ( eine unterstellung :P aber die TL frisst schon viel fps )

Holundermann
2004-07-29, 10:41:00
naja, dann kann man noch drüber streiten ob das falsch programmiert wurde von crytek oder ob da ein treiberbug/cheat vorliegt...

gebencht wurde ja hoffentlich immer ohne taschenlampe :) von daher trifft wohl nv keine schuld an dem bug.

ich muss mir mal die stelle bei mir daheim anschaun, auch wenn der vergleich zu ner gf 4 nicht wirklich aussagekräftig ist... :D

Demirug
2004-07-29, 10:46:13
Original geschrieben von Mr. Lolman
- Vorgesehen? Du meinst, dass die Shader so gebaut wurden, dass man diese ohne grosse Änderungen auch für Offset Mapping nutzen könnte? Oder meinst du einfach, dass Crytek es geplant hat, Offset Mapping auch für Karten, die die Single Light Shader nutzen, verfügbar zu machen?

Die Shader können es. Es muss eben nur noch jemand alle Levels durchschauen und für jeden Object das Offsetmapping bekommen soll eine Highmap erzeugen und für das Object ein Flag setzten das Offsetmapping benutzt werden soll. Das ist eine Content änderung und sowas ist aufwendig. Die technischen Vorraussetzungen sind aber vorhanden.

-Ich weiss nur, dass sowohl rthdribl als auch 3dmark03 mit Post Processing, auch R3x0s deutlich schneller läuft, als auf NV3xs. Und beide Beispiele nutzen HDR. Wo wär das Problem für Crytek?

Das kommt zum Teil daher das beim NV3X auf anderer Verfahren ausgewichen wird weil die FP Formate die man eigentlich bräuchte nur als FOURCC Format verfügbar sind.

Hat das FP-Alphablending problem was mit dem Backbuffer format zu tun? Da bietet ATi ja ohnehin auch eine andere Lösung an (X8R8G8B8)

X8R8G8B8 ist das normale 32 Bit Format ohne Alpha. Das kann eigentlich jede Karte.

Das Problem ist das Farcry öfter mit Transparenten elemente und Mehrschicht Effekten arbeitet. So werden die Verunreinigungen (Blut usw) auf dem Boden in der Regel in einem zweiten Pass aufgetragen. Dabei wird Alphablending benutzt um das alles zusammen zu addieren. Für HDR muss man nun diese Schichten in einem Buffer mit höhere Genauigkeit addieren. Dafür ist dann FP-Alphablending erforderlich. Es gibt noch alternative Verfahren mit mehr als einem Buffer und addieren über Pixelshaderprogrammen aber das ist sowas von langsam weil man ständig das Rendertarget wechseln muss. Da würde ich mir ehrlich gesagt auch nicht die mühe machen das überhaupt zu implementieren. Alternativ müsste man den Renderer so umschreiben das er die Farbe von jeden Pixel in nur einem Pass bestimmt. Dabei dürfte aber selbst mit PS3 die Eingangsregister teilweise nicht mehr reichen. Zudem hat man dann immer noch das Problem der Transparenten Flächen (Wasser) die zwingend Alphablendig brauchen. Eine HDR Demo kennt solche Probleme natürlich nicht.

Mr. Lolman
2004-07-29, 10:52:37
Ok, klingt logisch, aber:

Beim Mother Nature Demo vom 3dmark03 gibts auch transparentes Wasser, und das funktioniert auch problemlos im Zusammenhang mit Postprocessing/HDR. Welcher Weg wurde denn da gewählt?

Demirug
2004-07-29, 10:58:46
Original geschrieben von Mr. Lolman
Ok, klingt logisch, aber:

Beim Mother Nature Demo vom 3dmark03 gibts auch transparentes Wasser, und das funktioniert auch problemlos im Zusammenhang mit Postprocessing/HDR. Welcher Weg wurde denn da gewählt?

Da ich im Moment noch nicht mal genau im Kopf habe welcher Postprocessing Effekt da zum Einsatz gekommen ist kann ich das nicht sagen. HDR ist als Begriff sehr dehnbar.

Mr. Lolman
2004-07-29, 11:04:43
Original geschrieben von Demirug
HDR ist als Begriff sehr dehnbar.

Stimmt. V.a. hab ich lt. aths ohnehin noch nie HDR auf meiner ATi Karten zu Gesicht bekommen ;)

BTW: Vielleicht hilft dir dieser Screenshot (mit aktiviertem post Processing) weiter, bezügl. der verwendeten HDR Technik beim Murks03: http://www.forum-3dcenter.org/vbulletin/showthread.php?s=&postid=1657582#post1657582

Jesus
2004-07-29, 11:12:29
dann kann eigentlich eine Playstation 2 auch HDR ? :) zumindest sieht das bei einigen Games so aus...

aths
2004-07-29, 13:18:30
Original geschrieben von Mr. Lolman
-Ich weiss nur, dass sowohl rthdribl als auch 3dmark03 mit Post Processing, auch R3x0s deutlich schneller läuft, als auf NV3xs. Und beide Beispiele nutzen HDR. Wo wär das Problem für Crytek? Um HDR (eigentlich ja MDR, da bleibe ich hart :)) in Spielen richtig nutzen zu können, brauchts FP-Texturfilterung und FP-Blending. Nur NV40 bietet das im Moment. Falls Crytek das auch für ältere Karten anbieten will, bin ich gespannt, wie das aussieht und welche Performance man dann hat.

Mr. Lolman
2004-07-29, 13:25:44
Original geschrieben von aths
Um HDR (eigentlich ja MDR, da bleibe ich hart :)) in Spielen richtig nutzen zu können, brauchts FP-Texturfilterung und FP-Blending. Nur NV40 bietet das im Moment. Falls Crytek das auch für ältere Karten anbieten will, bin ich gespannt, wie das aussieht und welche Performance man dann hat.

Nochmal: Wieso funktioniert der ganze Spass dann mit schnöden R3x0 auch bei Mother Nature?

Oder anders gefragt: Bei Tron2.0 gibts auchs HDR ähnliche Effekte bei gleichzeitig wunderbarer Performance auf ATi Karten. Prince of Persia nutzt auch Glares (auch wenn die scheinbar keine HDR haben)
Die Glares bei Tenebrae funzen auch super (wirkt auch wie HDR) wenn auch etwas langsam. Wieso sollte das also bei Farcry so ein Problem darstellen?

Xmas
2004-07-29, 13:31:43
Weil es eben nicht "der ganze Spaß" ist. Entweder man verzichtet auf Präzision, Features (z.B. Transparenz) bzw. Freiheit beim Leveldesign, oder Performance.

TheCounter
2004-07-29, 13:38:17
Original geschrieben von aths
Um HDR (eigentlich ja MDR, da bleibe ich hart :)) in Spielen richtig nutzen zu können, brauchts FP-Texturfilterung und FP-Blending. Nur NV40 bietet das im Moment. Falls Crytek das auch für ältere Karten anbieten will, bin ich gespannt, wie das aussieht und welche Performance man dann hat.

Also wenn ich bei mir mal in die log.txt schaue steht folgendes drin:

HDR Rendering: MRT
MRT Rendering: Disabled

Und ich hab nen R350. Was bedeutet MRT? (Vllt. Multiple Render Targets?)

tb
2004-07-29, 17:02:35
Original geschrieben von Demirug
Da hast du aber jetzt einen Spezialfall wo man viele Temps braucht.



Dummerweise steht in der SDK Documentation nur was ein ps_2_a auslösst.

Ups hast recht, war mein Fehler, ich ging davon aus, dass er auch ps_2_b zurückgibt, den bei ps_3_0 gehts ja auch.

"Returns the name of the highest high-level shader language (HLSL) profile supported by a given device"

....

Merlin31
2004-07-29, 17:03:45
Ich weiss nicht ob das hier in diesem Thread richtig reinpasst, aber ich glaube schon :
http://www.gamestar.de/news/pc-spiele/action/19143/

Schwere Vorwürfe gegen ATI: Die britische Online-Zeitung "The Inquirer" berichtet in einem Artikel von Zahlungen an Ubisoft für eine extra Optimierung von Far Cry für das Shader Model 2.0b. Der kanadische Grafikchip-Hersteller dementierte diese Vorwürfe umgehend. Nach Informationen des "Inquirer" sei ATI wegen der Optimierungen für das Shader Model 3.0 und der daraus resultierenden Performance-Steigerungen im Patch 1.2 besorgt gewesen. Deshalb sei eine spezielle Verbesserung für das von ATI voran getriebene Projekt Shader Model 2.0b entwickelt worden. Der Inquirer behauptet unter Berufung auf eigene Tests und Berichte anderer Websites, dass genau diese zusätzliche Optimierung für die Probleme beim Patch 1.2 für Far Cry verantwortlich seien - die letztlich zum ungewöhnlichen Rückruf durch Ubisoft führten. Demnach werde in Kürze der Patch 1.2 ohne die ATI-Optimierungen erneut erscheinen, bevor zu einem späteren Zeitpunkt möglicherweise ein weiteres Update mit Shader-Model 2.0b-Unterstützung nachgereicht wird. Hintergrund der Geschichte ist der seit geraumer Zeit tobende Kampf der Grafikchip-Riesen nVidia und ATI. nVidia bietet mit ihren neuen GeForce-Karten der 6800er Serie erstmals die Unterstützung für das zukunftsweisende Shader Model 3 an. ATI hingegen hat bei den neusten Radeaon-X800-Karten auf einen entsprechenden Support verzichtet - mit dem Hinweis, dass es bisher keine Spiele gäbe, die Shader Model 3 unterstützen. Die Grafik-Referenz im Shooter-Bereich, Far Cry, tut dies seit dem Patch 1.2 nun jedoch. Dank dieser Optimierungen läuft Far Cry auf einer GeForce 6800-Ultra-Karte rund 10 bis 15 Prozent schneller als auf dem ATI-Flagschiff Radeon X800 XT. Ob diese Vorwürfe der Wahrheit entsprechen ist schwer zu sagen. Im GameStar-Test lief Far Cry mit Patch 1.2 sowohl mit der ATI- als auch mit der nVidia-Karte problemlos. Ubisoft hat bisher keine weiteren Details zu den Ursachen der bei einigen Spielern aufgetretenen Patch-Probleme veröffentlicht. Der "Inquirer" war in der Vergangenheit immer wieder Quelle zahlreicher Gerüchte – die sich teilweise bestätigten aber auch teilweise in Luft auflösten. Daher ist die Meldung mit einiger Vorsicht zu genießen.

Demirug
2004-07-29, 17:05:21
Original geschrieben von tb
Ups hast recht, war mein Fehler, ich ging davon aus, dass er auch ps_2_b zurückgibt, den bei ps_3_0 gehts ja auch.

"Returns the name of the highest high-level shader language (HLSL) profile supported by a given device"

....

Nein, nicht dein Fehler. Bei einem X800 Chip sollte da ps_2_b gemeldet werden. Es wird ja auch ps_2_a für eine FX gemeldet. Das ist ein D3DX Bug und keiner hat es gemerkt.

tb
2004-07-29, 17:06:46
Original geschrieben von Demirug
OT: Thomas, D3DXGetPixelShaderProfile wird in der aktuelle Version niemals ps_2_b zurück liefern. Die habe es einfach vergessen einzubauen. Habe mir gerade den Assemblercode deswegen angeschaut.

Schade, hät ich die X800 wärend der Betaphase gehabt, hät ich nen Bug / Missing Feature Report machen können...

Thomas

Demirug
2004-07-29, 17:34:31
Original geschrieben von tb
Schade, hät ich die X800 wärend der Betaphase gehabt, hät ich nen Bug / Missing Feature Report machen können...

Thomas

Eigentlich hätte das ATI selbst auffallen müssen.

tb
2004-07-29, 17:38:54
Original geschrieben von Demirug
Eigentlich hätte das ATI selbst auffallen müssen.

Vielleicht war man zu sehr mit dem "optimierenden" aniso. Filter beschäftigt ;)

Thomas

deekey777
2007-01-01, 14:11:36
Da fragt man sich gleich: "Wie kommt der Dicke diesen Thread auszugraben?"
Irgendjemand bei B3D meinte, dass der SM-2.0-Pfad in Far Cry gut optimiert sei, da habe ich aus Spaß einige Artikel zu Far Cry 1.2&1.3 durchgelesen.
Fazit: Far Cry ist kein SM-3.0-Spiel. :biggrin:
http://www.digit-life.com/articles2/gffx/fc12.html#p5
Having obtained performance gain exceeding 20% in demo-scripts included into the patch, it was decided to research the reasons for such gain. According to NVIDIA and the Cevat Yerli's answers (CryTek) in the interview to the FiringSquad web site, Patch 1.2 uses improved object lighting and geometry instancing on video cards supporting shaders of the third version. [...]
Where is the reason for statements about branching in shaders - quote: "more lighting can be accomplished with flow control and branching so we can encode for example 4 lights in one pass"? The only detected fragment of the source code in Shaders HLSL/Cg, which (after compilation) can take advantage of the Shaders 3.0 features, is shown below:

FLOAT fAttenFunction = 4.f/16.f;
for (int i=0; i<_NUM_LIGHTS; i++)
{
// Calculate attenuation
FLOAT atten = 1;
if (aLType[i] != 0)
{
FLOAT dist = length(IN.lightVec[i].xyz) * AttenInfo[i];
atten = tex2D(attenMap, float2(dist, fAttenFunction));
}

…………

FLOAT3 dif = decalColor.xyz * NdotL * ( FLOAT3 )Diffuse[i].xyz * atten * filterColor.xyz;
dif.xyz = HDREncode(dif.xyz);
vFinalDif += dif.xyz;
}

This code uses a cycle to calculate object lighting with several light sources. Their number is specified in the _NUM_LIGHTS variable. But the engine of FarCry features precompiling all possible shader perturbations into byte-code. Thus when this shader is compiled, _NUM_LIGHTS is a constant and static branching depending on a number of lights is not used. As a result, if necessary, the game uses a lot of various shaders compiled from several "mega-shaders". And FarCry 1.2 does not use the features of Shaders 3.0, though it has such capabilities.

Conclusion

FarCry 1.2 example demonstrated that Shaders 3.0 are real and effective and that many games will be capable of their support in case of a flexible engine. Obtained results are somewhat ambiguous: on the one hand, we witnessed performance gain in several places; on the other hand, it seems that the improvement, which brought considerable rendering gain (several light sources at one pass), could have been implemented with Shaders 2.x (possibly even 2.0). Thus I would like to wish the developers not only to promote the latest technologies, but also not to forget and optimize the game performance with the existing video cards. However all performance gains in the above tests are actually due to pass reduction at rendering lighting. That is the current implementation has no merits achieved via the features of Shaders 3.0.
Wurden seitdem überhaupt irgendwelche Optmierungen für SM 2.0 eingebaut (zB mehr als eine Lichtquelle)?