Go Back   nV News Forums > Software Forums > Gaming Central

Newegg Daily Deals

Reply
 
Thread Tools
Old 11-01-05, 07:11 AM   #1
myshkinbob
Registered User
 
myshkinbob's Avatar
 
Join Date: Mar 2004
Posts: 402
Default Call of Duty 2 DX9 performance fixes

I haven't put this in the COD2 feedback thread as i've a feeling it's going to get linked to from other forums, and it might get lost in the main feedback thread.

I played through cod2 the other day, at 1024x768, and it was fun, but really laggy. I'm using a 6800GT via nvstrap, and performance was less than i expected using the DX9 path. So last night i loaded up cod2 and went through the r_ console commands, looking for tweaks.

Basically this game can run a lot better on nv40 hardware than it does by default. I expect the same is true for g70 cards too. I heard someone with a GF3 even got +10fps from the first tweak.

There's two main tweaks^^^bugs that boost fps massively (+20/40%), without affecting IQ at all.

First up, r_multigpu, this defaults to 0. However another cvar, r_gpusync, defaults to 3, adaptive mode. This is a bug. Currently r_gpusync defaults to a setting that to some extent depends upon r_multigpu being true. Anyone using a single graphics card can gain 5-20% better minimum framerate by setting r_multigpu to 1, or r_gpusync to 0 (off). r_multigpu 1 is the same as setting "optimise for SLI" to Yes in the options menu.

I can't believe that bug got into the final release, limiting performance on all single card systems. Fair to say this game was developed on SLI rigs, but it's still a sloppy bug to leave in a gold release. Proper beta testing anyone? heh.

The second big performance tweak i don't even understand why it works, it's another error/bug i think. You can set texture detail now in the menus, and you can also change it using r_picmip_xxxx in the console. I came across a console command called r_applypicmips that applies new picmip settings without having to do a vid_restart. Providing one of the picmip values has been changed, this command applies the new setting in about one second. I started off using it to test texture/bump/specular sizes affect on performance (incidentally, at 1280x960 2xAA, Extra performs just as well as Normal settings). Funny thing is, after i used the command, i got an fps boost. Quite a considerable one. First thing i thought was it must break something to get the boost, but there are no visible errors, missing textures or shaders. I think something in the renderer initialisation that comes after this command normally, has a detrimental effect on performance, and running this command again afterwards fixes it. Running r_applypicmips once after every map load will give you another 5-20% framerate boost. In order for it to run, you need to change a picmip value first though.

Here's a few screens to show the difference in fps, running at 720p (1280x720) 2xAA, 4xAF, all ingame options maxed, on a 6800GT @ 375/1100. Second image of each set is with tweaks applied, fps top right.








Quite a big jump in fps really. I picked areas of the first level that were lowest for framerate, to show the effect on the minimum fps. Average fps is up a lot. Where previously the game barely reached 30fps, it's in the 40s now. The game is so much more playable, framerates are much more steady in firefights too. Install the cfgs attached and you'll see what i mean.

As i said, the second tweak needs to be applied after every map loads. It's a real pain typing in;
"r_picmip 2"
"r_applypicmips"
"r_picmips 0"
"r_applypicmips"
everytime you change map.

So, i made an autoexec and a tweak.cfg. They're attached to this post, put them in your C:\path\to\Activision\Call of Duty 2\main\ folder, load cod2, set your video options, then in the console type "exec autoexec.cfg" to enable the first tweak and misc other minor tweaks, which will add them to config.cfg. you may need to repeat this should you ever change video options. To enable the second picmip tweak you only need to press "." (period) after each map load.

I suggest you read autoexec.cfg and tweak.cfg as they contain comments and other useful parameters to gain fps, that need setting to your own preference. Here's the brief rundown:

autoexec.cfg;
com_hunkmegs "512" - apparently smooths out resource loading stutters.
r_autopriority "1" - no idea, but has no negative effects.
r_anisotropy "4" - gains you ~5-10% framerate over the default "8" depending on poly count, for negligable IQ loss.
r_aaAlpha "1" - texture alpha channel aa method?
r_multigpu "1" - see above. 5-20% fps gain.

tweak.cfg;
r_applypicmip - see above. 5-20% fps gain.
r_zfeather - softens smoke edges, gain 5-20% fps in smokey areas by disabling, noticable IQ loss on smoke/ground overlaps when disabled.

hope this proves useful to people, it's made the game a lot more playable for me. Note the screens above don't show framerate increase for disabling zfeather, as i like the soft smoke edges, so i leave it on.

Edit:

To test whether you have the two cfg files in the correct folder, press "," ingame to enable the fps meter, and "/" to disable it. If the meter appears, everything is set up.

Anyone wishing to verify the effects, note; once the game is run with the autoexec in place, all of the r_ commands contained in the autoexec will be saved to your config.cfg. That includes the AF and multigpu settings, which account for 20-30% of the performance boost. So if you wish to take before and after fps readings, take the before readings before you install the cfgs.

Edit2:
refixed the cfg path and instructions so autoexec is run at least once manually.
Attached Files
File Type: zip cod2tweaks.zip (1.5 KB, 50654 views)
__________________
Core2Duo E6400 (3.0GHz@1.3v) | Gigabyte 965P-DS3 | 2x 1024MB Elixir PC6400 (Dual-Channel DDR2@1.8v) | 3x Spinpoint SATA 80GB | Gainward GeForce 8800GTS (@600/1900) | Mitsubishi DiamondPlus 93SB 19" (1600x1200@75Hz)
myshkinbob is offline   Reply With Quote
Old 11-01-05, 07:40 AM   #2
PaiN
Don't make me MAD!
 
PaiN's Avatar
 
Join Date: Jul 2002
Location: CT, USA
Posts: 2,111
Default Re: Call of Duty 2 DX9 performance fixes

No thanks is enough for someone like you
Huge appriciation for your hard work ...
__________________
Core i5 2500K @ 4.2ghz | EVGA Superclock M020 | Gigabyte Z68X-UD3H-B3 | 8gb G.Skill Ripjaws X PC1600 | EVGA GTX570 760/1950 | SB X-Fi Xtremegamer | PC Power & Cooling Silencer 610w PSU | (2) WD Black 640gb in RAID"0" | MSI SATA DVD-RW | Saitek Eclipse kb | Logi G5v2 mouse / Steelseries QcK | Antec P182 "Gunmetal" | Logitech 5300a THX 5.1 speakers | ASUS VW266H 25.5" LCD
-Windows7 64bit
PaiN is offline   Reply With Quote
Old 11-01-05, 08:00 AM   #3
Scunner
Veni, Vidi, Calcitro Anus
 
Scunner's Avatar
 
Join Date: Oct 2004
Location: 127.0.0.2 (I moved)
Posts: 377
Thumbs up Re: Call of Duty 2 DX9 performance fixes

Nice writeup. A post like this makes a welcome change from the "WTF?! lolz!!!1" garbage that pervades the net.

Thanks for your efforts. Looking forward to trying these tweaks tonight.
Scunner is offline   Reply With Quote
Old 11-01-05, 08:05 AM   #4
karkrash81
Do you like dags?
 
karkrash81's Avatar
 
Join Date: Jul 2004
Location: Columbus, OH
Posts: 742
Send a message via AIM to karkrash81
Default Re: Call of Duty 2 DX9 performance fixes

Excellent work sir!! Many humble thanks...
__________________
My System: Athlon 64 x2 3800+ overclocked to 4600+/2 GB Geil PC3200/8800 GTS 320 mb/Asus A8N SLI Premium motherboard/Logitech z-680's/Total of 760 GB of Hard Drive Space (2x300 + 1x160)/audigy 2/Two 20.1" Widescreen LCD's (Dell 2005fpw)
Favorite movie: Snatch/Favorite Game: NOLF/Song of the Week: "You Know I'm No Good" by Amy Winehouse/
What I'm Playing this Week: Nothing!
karkrash81 is offline   Reply With Quote
Old 11-01-05, 10:55 AM   #5
Amoor
Registered User
 
Amoor's Avatar
 
Join Date: May 2004
Location: Egypt
Posts: 86
Default Re: Call of Duty 2 DX9 performance fixes

I have not been able to get autoexec.cfg commands to be executed automatically, I placed the files in \Call of Duty 2\main folder..is there anything else i need to do ?
__________________
E6600@3GHz | Asus P5B Deluxe| 4GB DDR2 800 | BFG GeForce 8800GTS 320MB | Dell 2005FPW| CREATIVE X-FI Xtreme Music | Logitech Z-560 THX | 75GB WD Raptor 10000 + 120GB WD 7200 + 80GB Samsung 7200 | NEC 3500 DVD-RW | OCZ Modstream 520Watt | Windows Vista |
Amoor is offline   Reply With Quote
Old 11-01-05, 10:56 AM   #6
zoomy942
 
zoomy942's Avatar
 
Join Date: Dec 2003
Location: Bellevue, ID
Posts: 5,336
Send a message via AIM to zoomy942 Send a message via MSN to zoomy942
Default Re: Call of Duty 2 DX9 performance fixes

i love you
zoomy942 is offline   Reply With Quote
Old 11-01-05, 11:19 AM   #7
Raiasokura
Registered User
 
Join Date: Oct 2005
Posts: 76
Default Re: Call of Duty 2 DX9 performance fixes

Quote:
Originally Posted by Amoor
I have not been able to get autoexec.cfg commands to be executed automatically, I placed the files in \Call of Duty 2\main folder..is there anything else i need to do ?
yeah same here, am i missing something?
Raiasokura is offline   Reply With Quote
Old 11-01-05, 11:24 AM   #8
toxikneedle
this.is.a.chemical.burn
 
toxikneedle's Avatar
 
Join Date: Dec 2004
Location: Brooklyn, NY
Posts: 2,323
Send a message via AIM to toxikneedle Send a message via MSN to toxikneedle
Default Re: Call of Duty 2 DX9 performance fixes

I got 7800s in SLi, what should the CVAR r_gpusync be set to, to get the most fps? I already got multigpu set to 1 everytime I load the game. I just don't understand exactly what gpusync is?
__________________
[cpu]amd.x2.4400 . [ram]crucial.2gb.3200 . [gpu]evga.8800.gts . [hdd]wd.raptor.74gb ::
toxikneedle is offline   Reply With Quote

Old 11-01-05, 11:52 AM   #9
MindBlank
Mafia din strada
 
MindBlank's Avatar
 
Join Date: Mar 2005
Posts: 65
Default Re: Call of Duty 2 DX9 performance fixes

Yes, it works. Performance gains are huge sometimes. I get double the framerate in some spots. 1280x1024 with 2xAA everything maxed and i get 40 FPS avg. I've also noticed that after you apply the tweaks, if you restart the level you get an additional performance boost.

Thanks for the tweak, it's great.

EDIT : I couldn't get the autoexec and tweak to work so i typed them manually. Is there something wrong i'm doing? I copyed them in the root CoD2 folder, the main folder and my profile folder and it still doesn't work.

EDIT 2 : I couldn't manage to replicate the "restart level" thing. Without the tweaks i get 17FPS in the wagon at the beginning. With the tweaks, it jumps to 22 at this spot. However, by restarting the level i manged the first time to further improve the performance, to the point which i got 34 FPS in the first scene and never went below 40 in the resot of training. I can't get it to work anymore however... If i restart the level, i get 34 FPS for a few seconds than it drops to 22 as the game is saved.

Someone with more knowledge can investigate this.

BTW, i created a new profile if that helps...
__________________
AMD Athlon64 3200+ @ 2,6Ghz 1,55V
Arctic Cooling Freezer64 PRO
DFI LanParty UT nF4 SLI-D
G.SKILL 2GB DDR400
250GB WD2500KS on boot & 80GB WD800JB
Gainward GeForce 7900GT
Horizon H-7500L
+ some other stuff
MindBlank is offline   Reply With Quote
Old 11-01-05, 11:55 AM   #10
SlamDunk
Registered User
 
Join Date: Apr 2003
Posts: 497
Default Re: Call of Duty 2 DX9 performance fixes

I first put the files in \main folder... didn't work. Then I moved them into Call Of Duty 2\ root folder but that didn't work either. So what's up?
SlamDunk is offline   Reply With Quote
Old 11-01-05, 12:20 PM   #11
myshkinbob
Registered User
 
myshkinbob's Avatar
 
Join Date: Mar 2004
Posts: 402
Default Re: Call of Duty 2 DX9 performance fixes

Hey thanks for the thanks, everyone. np at all

It seems i got the directory wrong, but i just tested it, and i haven't, it is the 'main' folder the cfgs need to be in. The problem is COD2 ignores any autoexec.cfg. According to:

http://www.tweakguides.com/COD2_2.html

It says you should put .cfg files in your main/players/<profilename>/ directory. But i found that doesn't work. I tried that first and it ignored the autoexec like the article states, and any other .cfg files you put in your player profile folder. So i copied both cfg files to the main directory, and thought that got it running. It did, but i'd forgotten i also ran "exec autoxec.cfg" manually in the console after copying them too. My bad.

So, to get this working, you do have to put the .cfg files in the \main\ folder. Then you must enable the console, and after setting your video options in the menu, type "exec autoexec.cfg". You don't need to do that everytime you run the game, only after changing any graphics options. exec autoexec.cfg will add it's contents to your config.cfg after your new options are written to config.cfg.

Then the , . / keyboard binds will work, and so the picmip tweak bound to "." will work too. You'll know if tweak.cfg runs because your fps will boost, and the screen will pause for ~1sec each time you press the key.

Toxikneedle:

r_gpusync takes values 0 to 3, enable the console and type r_gpusync and hit Tab, it'll show the option names. I remember 0 is off, 3 is adaptive... 1 is beginning, 2 is beforePresent. I think it's referring to the stage in rendering that the gpu cores are synched maybe? I'd suggest you load up the first USA mission, climb the rope to the top of the cliff, and hit pause when you're looking over the trenches, it's a very busy scene in the game. Then pull down the console, and type r_gpusync 1, then 2, then 3. It updates instantly when you change the option, try 0 to see your fps dive with sli. I expect value 3, adaptive, works best for sli, choosing the most suitable option 1 or 2 depending on the scene.
__________________
Core2Duo E6400 (3.0GHz@1.3v) | Gigabyte 965P-DS3 | 2x 1024MB Elixir PC6400 (Dual-Channel DDR2@1.8v) | 3x Spinpoint SATA 80GB | Gainward GeForce 8800GTS (@600/1900) | Mitsubishi DiamondPlus 93SB 19" (1600x1200@75Hz)
myshkinbob is offline   Reply With Quote
Old 11-01-05, 12:29 PM   #12
MindBlank
Mafia din strada
 
MindBlank's Avatar
 
Join Date: Mar 2005
Posts: 65
Default Re: Call of Duty 2 DX9 performance fixes

Ok, after further testing, restarting doesn't actually do anything. Running in "Optimize for SLI" (r_multigpu) gives a nice boost. r_gpusync further improves performance, but i can get it to work sometimes.

I'll do some more tests and see what i come up with.


BTW : i get double the framerate on my card in some spots, so yeah, performance is greatly improved. I can't believe the devs didn't look into these things before release. This is unacceptable IMO.
__________________
AMD Athlon64 3200+ @ 2,6Ghz 1,55V
Arctic Cooling Freezer64 PRO
DFI LanParty UT nF4 SLI-D
G.SKILL 2GB DDR400
250GB WD2500KS on boot & 80GB WD800JB
Gainward GeForce 7900GT
Horizon H-7500L
+ some other stuff
MindBlank is offline   Reply With Quote
Reply


Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump


Similar Threads
Thread Thread Starter Forum Replies Last Post
$44.99 - Logitech Call of Duty: MW3 Edition G105 Black USB Wired Gaming Keyboard News Archived News Items 0 06-20-12 09:00 PM
Tony Hawk devs working on Call of Duty News Gaming Headlines 0 06-15-12 10:30 AM
Treyarch says Call of Duty: Black Ops 2 Doesn't Need a New Engine to Advance Graphics News Archived News Items 0 05-14-12 07:00 PM
Call of Duty: Modern Warfare 3 Collection 1 DLC arrives on PC, finally News Archived News Items 0 05-09-12 01:10 PM
My UT2003 Tweak Guide DXnfiniteFX Gaming Central 48 10-30-02 11:59 PM

All times are GMT -5. The time now is 04:28 AM.


Powered by vBulletin® Version 3.7.1
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Copyright 1998 - 2014, nV News.