hl² vollkommen flüssig mit dx9 auf ner fx!

c0ld.aS.iCe

Cadet
Mitglied seit
27.10.2004
Beiträge
17
Renomée
0
Oh, it's pretty sad really.

Basically, some guys on Guru3d figured out what Valve did to cripple nVidia cards.

First off, you need 3dAnalyze. I'm assuming everyone knows that you can force HL2 to run in DX9 mode on FX cards, right? Only, you get artifacts in the water and other areas?

Well, that's pretty easy to fix. Just have the 3dAnalyze util report your card as an ATI Radeon instead of a GeForce FX.

*taddah* All the artifacts go away, and you get true DX9 reflections!

Okay, but there IS a performance hit doing that. How to get around that?

Well, the funny thing is that Valve coded Half-Life 2 to use FP24 shaders all the time every time. And it's really not needed. Nope. In fact, FP16 seems to do the trick all the time - as seen in that above pic. FP16 and FP24 are indistinguishable in Half-Life 2.

Again, using 3dAnalyze you can test this. It is capable of forcing a card to use only FP16 shaders no matter what is requested. You'll see no image quality difference doing that - just a HUGE performance boost. Why? Well, because while FP16 is all that Half-Life 2 *needs*, if they let the GeForce FX cards do THAT, they might have been competitive! So, instead, they forced FP24 (unneeded), which caused the GF-FX cards to render the DX9 mode in FP32 all the time. With the obvious associated performance hit.

Try it yourself. The link to the article is here. Download 3dAnalyze, and follow these instructions:
Quote:
Originally Posted by Presi
Open it and follow the numbers:
1. select HL2.exe file in half-life 2 folder
2. select any file inside the folder half-life 2\bin
3. select Steam.exe
than check these options:
- Under the section Pixel and Vertex Shader: FORCE LOW PRECISION PIXEL SHADER
- Under the section Remove stuttering: PERFORMANCE MODE
- on the bottom left: FORCE HOOK.DLL

If you haven't change the file dxsupport.cfg with the method described in the beginnig of this thread, you can obtain the same result typing in the section DIRECTX DEVICE ID'S the ATI Vendor and Device ID, there are just two device though.
....
In the end 3D ANALYZE gives me an error, CREATEPROCESS FAILED, I launch HL2 anyway, the water looked awesome, awesome detail and I noticed a boost in performance too. I think around 20/30% which allowed me to play the WATER HAZARD level with this setting: 1024x768 everything max, water relection to ALL, 2xAA, 4xAnisotropic with a range of fps of 40 and >150.

Amazing, huh?
 
Valve mal wieder... :]
Immerhin kann man es beheben.


Die Vergleichsbilder würde ich aber schon gerne sehen.
 
Gleich mal testen, wenn ich meine tin box mal bekommen sollte.
 
Ja, sieht nicht schlecht aus.
 
I hope I can re-animate my 5900 ... could be quite interesting to make a head-to-head with my 9700Pro
 
Also wenn ihr mich fragt spinnen die Spielehersteller doch allmälig. Erst die Sache bei Doom³ und nun bei Half-Life² ...Was soll das denn?
Ich möchte zocken und net mir zu jedem Spiel die passende Graka kaufen müssen... tztztzzz... Bin zwar ATi-Jünger aber sowas is doch einfach net okay - für beide "Seiten" net!


bye Hübie
 
warum jetzt alle auf Valve hinhacken ist mir rein logisch nicht klar. Wenn hier jemand schuld ist dann sehr wahrscheinlich ATi (und das sage ich als ATi user). Valve waere doch unendlich doof wenn sie die FX user aufgrund von den kuenstlich erzwungenen 24/32 Bit praezision ausschliessen wurden! ich bin mir zu 100% sicher, dass diese "vorgabe" von ATi gekommen ist als teil der abmachung zwischen beiden marken. nebenbei bin ich trotzdem der meinung dass die FX generation die mit abstand schwaechste war, die NVidia jemals rausgebracht hat, mit dem NV30 als totaler katastrophe.
 
Original geschrieben von OnYX
warum jetzt alle auf Valve hinhacken ist mir rein logisch nicht klar. Wenn hier jemand schuld ist dann sehr wahrscheinlich ATi (und das sage ich als ATi user). Valve waere doch unendlich doof wenn sie die FX user aufgrund von den kuenstlich erzwungenen 24/32 Bit praezision ausschliessen wurden! ich bin mir zu 100% sicher, dass diese "vorgabe" von ATi gekommen ist als teil der abmachung zwischen beiden marken. nebenbei bin ich trotzdem der meinung dass die FX generation die mit abstand schwaechste war, die NVidia jemals rausgebracht hat, mit dem NV30 als totaler katastrophe.


Sicher ist ATI Schuld. Aber nicht alleine verantwortlich. Wenn ATI Valve so einen Deal vorschlägt, muss Valve ja nicht darauf eingehen... Also ist Valve schon Schuld. Eigentlich sogar mehr, da es dabei um IHRE Kunden geht. Es hat sich aber gezeigt, dass Valve nicht das geringste Interesse an den Kunden hat, sondern nur an dem Geld der Kunden. (Oder halt am Geld von ATI. Und da kam bestimmt nicht zuwenig rüber.)



Damit hier kein ATI-NVIDIA Streit ausbricht:

Beide stellen gute Karten her. Beide versuchen teils schmutzig den anderen auszustechen.
Schuld an der HL² Sache ist hauptsächlich Valve. Die würden für Geld wahrscheinlich sogar ihre Großmütter verkaufen. (Spass ;) )
 
Original geschrieben von DaBrain
Die würden für Geld wahrscheinlich sogar ihre Großmütter verkaufen. (Spass ;) ) [/B]

->hab neulich 3 davon bei ebay ersteigert. 8)


Ernst: Kann nvidia das nicht mit optimiertem Treiber beheben ( die beta 67.02 (?) soll ja auch schon hl2 optimiert sein).
 
Das Problem liegt eher bei der DX9 Vorgabe welche nunmal 24 Bit Präzision als Standard ansieht. Die FX-Reihe (wie auch die Gf 6) kann aber nur entweder 16- oder 32 Bit, wobei 32 Bit Präzision bei der FX deutlich Perfomance frisst.
Valve musste nun abwägen wie die FX nun angesprochen werden soll: Mit 16 Bit Präzision (schnell aber bei Overbrighteffekten z.T. eine Verschlechterung der Bildquali gegenüber 24/32 Bit) oder mit der langsamen 32 Bit Präzision.
Das letztere wurde genommen und daher die FX eingebremst! Warum Valve so entschieden hat mag dahingestellt sein, ich möchte hier nichts unterstellen. ;)

MfG 8)
 
Original geschrieben von James Ryan
Das Problem liegt eher bei der DX9 Vorgabe welche nunmal 24 Bit Präzision als Standard ansieht. Die FX-Reihe (wie auch die Gf 6) kann aber nur entweder 16- oder 32 Bit, wobei 32 Bit Präzision bei der FX deutlich Perfomance frisst.
Valve musste nun abwägen wie die FX nun angesprochen werden soll: Mit 16 Bit Präzision (schnell aber bei Overbrighteffekten z.T. eine Verschlechterung der Bildquali gegenüber 24/32 Bit) oder mit der langsamen 32 Bit Präzision.
Das letztere wurde genommen und daher die FX eingebremst! Warum Valve so entschieden hat mag dahingestellt sein, ich möchte hier nichts unterstellen. ;)

MfG 8)

Lieber ein schönes Bild ,als ein schlechte Bildqualität.
 
Original geschrieben von c0ld.aS.iCe
Again, using 3dAnalyze you can test this. It is capable of forcing a card to use only FP16 shaders no matter what is requested. You'll see no image quality difference doing that - just a HUGE performance boost. Why? Well, because while FP16 is all that Half-Life 2 *needs*, if they let the GeForce FX cards do THAT, they might have been competitive! So, instead, they forced FP24 (unneeded), which caused the GF-FX cards to render the DX9 mode in FP32 all the time. With the obvious associated performance hit.

Wenn man Bencht, sollte die ATi, der Fairness halber, dann aber auch auf FP16 laufen.
 
Soweit ich weiss bringt macht FP16 kaum einen Unterschied zu FP24 bei ATI. (Performance)
 
Original geschrieben von DaBrain
Soweit ich weiss bringt macht FP16 kaum einen Unterschied zu FP24 bei ATI. (Performance)

soweit ich weiss unterstuetzt ATi NUR 24bit (dafuer aber recht flott :))
 
Stellt sich doch die Frage, warum man den FX Usern nicht die Wahl läßt (per Einstellung) ob sie doch nicht DX9 meinetwegen auch mit 32 Bit Präzision wollen. Ich denke schon das eine FX5950 das noch in flüssig schaffen könnte. Ich sehe da schon eine Bevormundung des Kunden von Valve mit einem Deal von ATI. Und wer hier denkt, ich flame weil ich ne Nvidia habe, meine letzte Karte davor war auch ne Radeon9800Pro und die war sehr gut. Aber die neuen Atis waren einfach zu schwer zu besorgen und die neue Geforce Generation finde ich wieder gar nicht schlecht. Die FX5 Generation war in der Tat meiner Meinung nach die schlechteste von Nvidia ever. ABER trotzdem den Spieler so zu verarschen is dreist, man hätte default,mäßig DX8 einschalten sollen, und wenn der Spieler auf DX9 switcht ihn meinetwegen noch mit einer Warnung das die Performance wahrscheinlich nicht ausreichen könnte warnen können.
 
Naja ich denke auch, dass nVidia sich ATi und DX9 hätte anpassen können und einen 24bit präzisen Vertexshader hätten nehmen sollen. Oder halt umgekehrt...ATi und DX9 wie nVidia...was auch immer... was ich sagen will is das die ein Brei kochen sollen... nVidia hat bei Doom³ doch auch mist gemacht. Da musste sich n ATi mitarbeiter an kopp fassen als er den shadercode sah.

Naja. In Zukunft: Für jedes Spiel gibts eine eigene Grafikkarte und n Lottoschein ;D


bye Hübie
 
das problem der FX karten ist einfach die saumiese shader performance unter 32bit. offenbar hat NVidia diese selbst durch massive treiberoptimierungen nicht verbessern koennen. das deutet darauf hin dass die hardware lahm sein muss (oder NVidias coder, was ich nicht glaube). der 32bit support bei FX karten war nichts anderes als ein werbegag bzw. ein pseudofeature seitens NVidia um kunden zu fangen und ATi mit deren "nur 24 bit" auszustechen. ich ziehe hier nur ueber die FX generation her, die 6800er sind allesamt sehr gute karten meiner meinung nach.
 
So, ich bin stolzer fx 5900xt Besitzer und habe dementsprechend mal auch nach Anleitung im verlinkten Forum die directx9-Variante von hl2 probiert (ich glaube aber noch ohne low-precision pixel shader, da muss ich nochmal schauen).
Schon ulkig, wenn man vorgaukelt, eine Radeon9800 zu benutzen.

Wasser wurde besser, aber am Interessantesten fand ich folgendes:
-hatte die Veränderungen in den Konfigurationsdateien wieder rückgängig gemacht, den dx9
launchlevel- Befehl aber beibehalten
->schwupdiwup, war das Wasser weg!

War gerade im Buggy-Level, wo man nett am Meer entlangdüst, und bin erstmal im unsichtbaren Wasser ertrunken. Man sieht also nur braune Meeresbodentexturen, wie, als würde der Strand normal weitergehen, nur ist eben da schon Wasser.

Mal sehen, werde noch die 16 Shader Geschichte probieren.
 
Original geschrieben von OnYX
das problem der FX karten ist einfach die saumiese shader performance unter 32bit. offenbar hat NVidia diese selbst durch massive treiberoptimierungen nicht verbessern koennen. das deutet darauf hin dass die hardware lahm sein muss (oder NVidias coder, was ich nicht glaube). der 32bit support bei FX karten war nichts anderes als ein werbegag bzw. ein pseudofeature seitens NVidia um kunden zu fangen und ATi mit deren "nur 24 bit" auszustechen. ich ziehe hier nur ueber die FX generation her, die 6800er sind allesamt sehr gute karten meiner meinung nach.

Die FP Präzision hat doch nichts mit Farbtiefe zu tuu, oder?

Ansonsten kann man sich den Vorteil von FP32 gut vorstellen.
32-Bit = 24-Bit + Alpha Channel

Mit dem Alpha Channel kann man allerlei nette Sachen anstellen. ;)
 
IMHO ist es am besten wenn man HL² gar nicht erst kauft. ;)
Dann hat man mit keiner Karte Probleme. Und mit Steam und dem Steem-license "30 Tage spielen" Müll auch nicht. ;D
 
Zurück
Oben Unten