12-11-2004, 06:28 PM
|
#3 (permalink)
|
is on the 5th circle: Wrath & Sullenness
Join Date: Jun 2004
Location: Zurich, Switzerland
Posts: 1,926
Hellbux: 1,341
|
VALVE has disabled Direct X 9 support for all FX cards due to horrible performance drops.
However, there is a way to activate it, but don't moan about performance afterwards
Quote:
(this is by Presi at the Guru3D forums)
Ok, I made few experiments in the past days in order to force my 5950u to play HL2 with dx9.
I found an interesting way to do it and the result, I think, is the best one.
The old way is to put -dxlevel 90 in the launch options and add an Autoexec.cfg file in the cfg folder of HL2 with the lines mat_dxlevel 90 and mat_clipz 0. I finished the game in that way with high setting and water reflection to all. It works, but not really, in some level the water was showing some weird reflections, huge disturbing polygons flying in the water, creepy; if you did that an played the WATER HAZARD level, you know what I'm talking about.
Reading around the forums and trying some experiments I found another way to force DX9 on my 5950; I tricked HL2 to see my 5950 as an ATI 9800 PRO. It works and the water reflection doesn't seem to have any problems. I guess Valve has decided to run HL2 with different codes path for the FXs... interesting.
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.
|
__________________
|
|
|