PDA

View Full Version : HL2 e Nvidia Fx - Utilizzare le directx9 e la precisione 16/32


Vash88
28-11-2004, 21:57
Ho letto un interessante discussione su guru3d su come far girare in direct x9 e con la precisione parziale 16/32 half life 2.

In prima pagina il metodo per le direct x9 e alla fine della seconda la precisione parziale! Sperimentate! Spero di avervi aiutato!

http://forums.guru3d.com/showthread.php?threadid=115614&perpage=10&pagenumber=1

R@nda
28-11-2004, 23:01
ho letto un pochino il post,non va in mixed mode,forzano solo le Fx ad andare in Fp16.....praticamente è come utilizzare le Dx8.1,hai il solo vantaggio che l'acqua riflette il mondo circostante senza uccidere troppo la scheda.
Le Fx in Dx9 sono lente,cavolo dopo un thread kmetrico nella sezione video spiegato in lungo e in largo da yoss mi pareva fosse chiaro
Daccordo Valve qulcosa in più poteva fare....però....

Vash88
28-11-2004, 23:21
certo è chiaro che le fx in direct x9 sono lente, almeno così le aiutiamo e miglioriamo la grafica dell' acqua.

Brakon
28-11-2004, 23:38
Le FX in DX9 sono lente si, se viene usata la precisione a 32bit per la quale non sono state progettate (scelta di progettazione sbagliata da parte di Nvidia).

Ho scoperto che non è necessario forzare il path per le Radeon9800, basta semplicemente togliere queste righe:

"DxLevel" "81"
"NoUserClipPlanes" "1"
"ConVar.r_fastzreject" "1"
"ConVar.mat_forcemanagedtextureintohardware" "0"

Dal file dxsupport.cfg nalla cartella bin (mi raccomando, BACKUPPATE PRIMA)!

Quel gran programmino a nome di 3danalyze fa tutto il resto, specificatamente forzando la precisione a 16 bit e qualche altra cosa che non ho bene in chiaro ancora.

Risultato: Praticamente gli stessi FPS di prima (con grandi bacini d'acqua come nell'episodio Acque Pericolose la perdita si nota ma rimane comunque sempre sopra i 30fps con la mia. Una o due volte l'ho visto scendere a 20 ma penso fosse per colpa di qualche piccolo caricamento), con il reflect all attivato e mantenendo AA2x e AF4x.

Inoltre, cosa che non avevo notato prima, tutti gli effetti shader sembrano come dire... più marcati rispetto a prima. Ma giudicherò meglio domani.

Grazie per la dritta Vash. ;)

R@nda
29-11-2004, 08:43
Sisi,vale comunque la pena provare,anzi,tnx anche da parte mia;)
Stasera ci smanetto un po...
Voi avete provato?Avete qualche shot dell'acqua e degli ambienti,così si vede se rimane uguale o perde in qualità.

ShadowThrone
29-11-2004, 08:44
questa sera provo. ieri sera ho solo moddato il file ma perdevo troppo.. son arrivato a toccare i 18 fps :(

Brakon
29-11-2004, 10:59
Se moddi il file senza usare il 3danalyze utilizzi comunque la precisione a 32bit, e quindi le prestazioni vengono comunque massacrate. A dire il vero il file viene modificato così che per le 5900xt, semplicemente, il gioco utilizzi il rendering path delle 9800pro. Questo perchè alcune persone hanno riscontrato dei bug piuttosto grossi con la riflessione sulle 5900xt (cosa che era molto visibile anche in far cry, per esempio in prossimità di moli e altro... dove la riflessione di un palo di legno si estendeva fino all'orizzonte e diventava più grande mano a mano). Io questi bug non li ho visti per cui ho mantenuto il path della 5900xt, togliendo quelle opzioni che ho detto nel post precedente. Ho notato qualche frame in più che con il path specifico per 9800pro.

Cercherò di farvi avere qualche screen stasera, ma cmq posso dire che al 95% la qualità non è dissimile da quella di una 9800pro. Anche nei normali shader su modelli e muri ho notato differenze che in shot statici non notavo.

R@nda
29-11-2004, 11:13
No ok,forzando il path dx 9.0 (mat_dxlevel90) va alla max precisione,massacrando la scheda,io difetti di rendering non ne ho visti comunque (uso i 67.02).
Intendevo degli shot con la precisione forzata a 16bit...per capire se cambia,quanto e se è accettabile o magari migliore.

ShadowThrone
29-11-2004, 19:03
ho provato. sembra andare!
dico sembra perchè ho ricaricato un livello di "acque pericolose" e devo dire che la perdita di fps quando vedo le riflessioni è pari a 1-2 fps al massimo. una vera goduria!!!!
poi, ho ricaricato il livello ravenholm, dove mi sono fermato ieri e ho avuto problemi, stuttering audio (tipo audio piantato a ripetizione per 5-10 secondi) e poi artefatti a video... bho.

dopo cena ritesto il tutto...

R@nda
29-11-2004, 19:24
A me da l'errore che dice il tipo sul forum Createprocess Failed....e poi sta li e non fa nulla.
Se faccio come dice lui e faccio partire ugualmente Hl2 mi pare come prima a fps in Dx90.
Cosa faccio che non va?Fa così anche a voi?

Brakon
29-11-2004, 20:01
Anche a me da il Createprocess se cerco di farlo partire da dentro 3danalyzer... però poi facendo partire hl2 (dal link di steam, ho la versione in DVD) mi parte in dx9, ma con le "ottimizzazioni" al loro posto.

Assicurati di utilizzare l'ultima versione di 3danalyzer, di selezionare i tre eseguibili nel giusto ordine e soprattutto di selezionare "create hook.dll" nell'angolo in basso a sinistra. Dovrebbe funzionare!

Ah, poi per sicurezza metti il config.cfg in sola lettura, non si sa mai.

ShadowThrone
29-11-2004, 20:17
si si, l'errore del createprocess lo da anche a me. poi parte in dx9 tranquillo tranquillo..vado a capire perchè quando ricarico ravenholm succede un casino.

EDIT : funzia alla grande! che spettacolo! le nuvole in cielo si muovono! :D

R@nda
29-11-2004, 20:47
Ok allora funziona così.
Ho fatto tutto (modificato il dxconfig.cfg,settato il 3danalize...ecc..)poi dà l'errore e lo faccio partire.
Bhè migliora si il fps confronto alla versione nativa Dx9 in fp32 ma l'acqua rimane bella pesante...vabbhè che è pesante anche sulle 9800Pro sarà si e no sui 35 fps.(non ho guardato con fraps...ma + o - ).
Cmq funziona:)

ShadowThrone
29-11-2004, 20:55
Originariamente inviato da R@nda
Ok allora funziona così.
Ho fatto tutto (modificato il dxconfig.cfg,settato il 3danalize...ecc..)poi dà l'errore e lo faccio partire.
Bhè migliora si il fps confronto alla versione nativa Dx9 in fp32 ma l'acqua rimane bella pesante...vabbhè che è pesante anche sulle 9800Pro sarà si e no sui 35 fps.(non ho guardato con fraps...ma + o - ).
Cmq funziona:)

bho.. a me va liscia.. ho lasciato "rifletti mondo" se metto le riflessioni al massimo allora si che corro a prendere una 6800! :D

R@nda
29-11-2004, 22:33
Originariamente inviato da ShadowThrone
bho.. a me va liscia.. ho lasciato "rifletti mondo" se metto le riflessioni al massimo allora si che corro a prendere una 6800! :D

Si,chiaro,intendo tutto al max:D

Brakon
29-11-2004, 23:17
Beh, mi sa che "rifletti tutto" è ancora un po' fuori portata... anche se cmq rimane giocabile. E devo dire che anche gli shader su armi e mostri sono MOLTO più definiti... soprattutto l'effetto untuoso (effetto Maury? :D) di questi ultimi.

Per il resto sono contento, finalmente sfrutto la mia geffina al massimo :cool: Alla faccia del marketing.

Raven
01-12-2004, 15:44
Ma è possibile anche impostare dx9 MA con fp16?!

Vash88
01-12-2004, 19:52
si

Raven
01-12-2004, 20:05
Originariamente inviato da Vash88
si

... e come?! :p

Vash88
01-12-2004, 23:11
FIX PER LE DIRECT X9
How to do it:
(disclaimer: don't do it if you don't understand what I'm talking about or you are not sure of it, don't do it! In the following I'll explain the way I've done it for my 5950 related to an ATI 9800 PRO, if you have a different card I guess you should relate it to a similar generation of ATIs, 5700/9600... I can't be sure of it, so you decide, and make sure to make copy of every modified files so you can be able to go back any time)

- Find the file dxsupport.cfg (half-life 2\bin\), make a copy of it and put it in a safe place (this is important!!!)

- Open it with notepad and locate the line about the ATI Radeon 9800 PRO settings, it should look like this:
"84"
{
"name" "ATI Radeon 9800 PRO"
"VendorID" "0x1002"
"MinDeviceID" "0x4E48"
"MaxDeviceID" "0x4E48"
"m_nDriverVersion_Build" "6240"
"DefaultRes" "1024"
"CentroidHack" "1"
}
- Select and copy everything from "VendorID"... to the "}" (6 lines)

-Than locate your card name, in my case NVIDIA GeForce FX 5950 Ultra, and change everything from "VendorID" to the "}" with the ATI settings. After the change it should look like this:
"355"
{
"name" "NVIDIA GeForce FX 5950 Ultra"
"VendorID" "0x1002"
"MinDeviceID" "0x4E48"
"MaxDeviceID" "0x4E48"
"m_nDriverVersion_Build" "6702"
"DefaultRes" "1024"
"CentroidHack" "1"
}
Hey! my card with ATI 9800's IDs! Yes! ;-)

-Save it and close it.

-Find the hl2\cfg\ directory and locate the config.cfg file and move it in a safe place, out the cfg folder (so you force HL2 to rebuild the settings for the game, which means HL2 has to read the new dxsupport.cfg file we have just modified.

-On the STEAM menu right click on HL2, propriety, launch options, you write: -heapsize and a number that is the equal of half of your total ram (this just speeds up a little bit HL2, I've removed the little pauses during the autosaves with this) and -dxlevel 90 (thanx rewt!!!)

-Launch HL2, enjoy direcx 9.

on my rig I have an acceptable fps range @ 1024x768 2xaa 2xanisotropic and water reflection to all (from min 35 to max >100fps). Water reflection is a big deal for FX cards, so if you don't get enough fps start to reduce things from there. I bet every FX can play at least over 35/40 fps at 800x600 (at that resolution you can increase aa and anisotropic and have still an awesome graphic, I think)

To test the directx 9 I usually load the WATER HAZARD level, full of huge water reflections, and the last one, rich of explosion and moving elements. If you are fine with them, your FX should rock over the all game.





FIX PER FP-16

-download 3D Analyze V 2.26 (thanx ViperExtream!) here: http://www.3dfxzone.it/dir/tools/emutnl.htm

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.

4. press RUN.

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.

I hope this will help, let me know if doesn't work, or if does let me know if you think you got a better perfomance boost.


Li applichi tutt' e due non vedo dov'è il problema.. scusa se ho capito male quello che chiedevi. :)

ShadowThrone
02-12-2004, 11:23
io ho forzato le dx9 fp16 sulla mia 5900xt, a parità di fps però il gioco è meno fluido.. lo vedo ad occhio.
cmq ho modificato il file dxsupport.cfg come ha detto Brakon e poi con 3danalyze ho settato il tutto.. ma ripeto, stessi fps ma gioco un po' più pesante., tant'è che in dx 8 riesco a giocare anche a 1280x1024..

R@nda
02-12-2004, 15:01
Qualcuno ha voglia di fare un bench di canals da postare qui forzando la fp16?

http://forum.hwupgrade.it/showthread.php?s=&threadid=827285

el rifle
03-12-2004, 03:10
Originariamente inviato da Vash88
FIX PER LE DIRECT X9
How to do it:
(disclaimer: don't do it if you don't understand what I'm talking about or you are not sure of it, don't do it! In the following I'll explain the way I've done it for my 5950 related to an ATI 9800 PRO, if you have a different card I guess you should relate it to a similar generation of ATIs, 5700/9600... I can't be sure of it, so you decide, and make sure to make copy of every modified files so you can be able to go back any time)

- Find the file dxsupport.cfg (half-life 2\bin\), make a copy of it and put it in a safe place (this is important!!!)

- Open it with notepad and locate the line about the ATI Radeon 9800 PRO settings, it should look like this:
"84"
{
"name" "ATI Radeon 9800 PRO"
"VendorID" "0x1002"
"MinDeviceID" "0x4E48"
"MaxDeviceID" "0x4E48"
"m_nDriverVersion_Build" "6240"
"DefaultRes" "1024"
"CentroidHack" "1"
}
- Select and copy everything from "VendorID"... to the "}" (6 lines)

-Than locate your card name, in my case NVIDIA GeForce FX 5950 Ultra, and change everything from "VendorID" to the "}" with the ATI settings. After the change it should look like this:
"355"
{
"name" "NVIDIA GeForce FX 5950 Ultra"
"VendorID" "0x1002"
"MinDeviceID" "0x4E48"
"MaxDeviceID" "0x4E48"
"m_nDriverVersion_Build" "6702"
"DefaultRes" "1024"
"CentroidHack" "1"
}
Hey! my card with ATI 9800's IDs! Yes! ;-)

-Save it and close it.

-Find the hl2\cfg\ directory and locate the config.cfg file and move it in a safe place, out the cfg folder (so you force HL2 to rebuild the settings for the game, which means HL2 has to read the new dxsupport.cfg file we have just modified.

-On the STEAM menu right click on HL2, propriety, launch options, you write: -heapsize and a number that is the equal of half of your total ram (this just speeds up a little bit HL2, I've removed the little pauses during the autosaves with this) and -dxlevel 90 (thanx rewt!!!)

-Launch HL2, enjoy direcx 9.

on my rig I have an acceptable fps range @ 1024x768 2xaa 2xanisotropic and water reflection to all (from min 35 to max >100fps). Water reflection is a big deal for FX cards, so if you don't get enough fps start to reduce things from there. I bet every FX can play at least over 35/40 fps at 800x600 (at that resolution you can increase aa and anisotropic and have still an awesome graphic, I think)

To test the directx 9 I usually load the WATER HAZARD level, full of huge water reflections, and the last one, rich of explosion and moving elements. If you are fine with them, your FX should rock over the all game.





FIX PER FP-16

-download 3D Analyze V 2.26 (thanx ViperExtream!) here: http://www.3dfxzone.it/dir/tools/emutnl.htm

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.

4. press RUN.

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.

I hope this will help, let me know if doesn't work, or if does let me know if you think you got a better perfomance boost.


Li applichi tutt' e due non vedo dov'è il problema.. scusa se ho capito male quello che chiedevi. :)


Ma sta storia come si fa a fare co counter strike:source?

Vash88
03-12-2004, 18:10
:boh:

el rifle
04-12-2004, 01:13
Originariamente inviato da Vash88
:boh:
Sono veramente poco pratico ma visto ke c sono riuscito kon hl2 (ho gridato al miracolo)sxavo s potesse fare anke con cs:s...

Brakon
04-12-2004, 22:15
Ok, ecco la SOLUZIONE DEFINITVA (http://www.steampowered.com/forums/showthread.php?threadid=197418&perpage=15&pagenumber=1) per l'acqua ultrariflettente, pur non usando DX9 e mezze precisioni e amenità varie... e soprattutto senza perdita di FPS!!

Io la provo adesso, anche se per ora ha funzionato a tutti.

ShadowThrone
06-12-2004, 11:39
Originariamente inviato da Brakon
Ok, ecco la SOLUZIONE DEFINITVA (http://www.steampowered.com/forums/showthread.php?threadid=197418&perpage=15&pagenumber=1) per l'acqua ultrariflettente, pur non usando DX9 e mezze precisioni e amenità varie... e soprattutto senza perdita di FPS!!

Io la provo adesso, anche se per ora ha funzionato a tutti.

io la provo questa sera... :cool: