Dual Core Gaming Fix Guide

kirbyrj

Fully [H]
Joined
Feb 1, 2005
Messages
30,672
Dual Core Gaming Fix Guide

Introduction
Since I purchased my X2 and then my dual core Opteron, I noticed that gaming performance suffers while running certain games. [H]ardOCP noted this in one of their reviews as the "Benny Hill Effect." There is a certain amount of stuttering or random speedup/slowdowns while running dual core CPU's in single threaded games. The reason for these problems has to do with power state management in some form or another, as these fixes are designed to address specific power state management issues. For more info, read this document at AMD's website here and Microsoft's software engineers acknowledgment of the problem and solutions here. This thread is intended to consolidate a number of fixes I've come across in this forum and elsewhere.

Fix #1 - The AMD Dual Core Optimizer

AMD Dual-Core Optimizer - The AMD Dual-Core Optimizer can help improve some PC gaming video performance by compensating for those applications that bypass the Windows API for timing by directly using the RDTSC (Read Time Stamp Counter) instruction. Applications that rely on RDTSC do not benefit from the logic in the operating system to properly account for the affect of power management mechanisms on the rate at which a processor core's Time Stamp Counter (TSC) is incremented. The AMD Dual-Core Optimizer helps to correct the resulting video performance effects or other incorrect timing effects that these applications may experience on dual-core or multiple processor systems.

You can download it here:
http://support.amd.com/us/Pages/dyn...cd2c08-1432-4756-aafa-4d9dc646342f&ItemID=153

Fix #2 - The AMD Driver ( /usepmtimer switch)

1. Install the AMD Processor driver found here:
http://support.amd.com/us/Pages/dyn...432-4756-aafa-4d9dc646342f&ItemID=173&lang=us
AMD Athlon™ 64 X2 Dual Core Processor Driver for Windows XP and Windows Server 2003 Version (exe) 1.3.2 (or other driver depending on your OS).

This driver will add the /usepmtimer line to your boot.ini file. This will both fix problems in some games (BF2) and will raise problems in others (WoW). So depending on what games you are playing, you might have to edit your boot.ini to reflect the game you are playing.

2. Add the /usepmtimer switch to your boot.ini file manually
Right Click My Computer
Properties
Advanced Tab
Startup and Recovery -> Settings
To edit the startup options manually, click edit -> Edit

This should bring up a .txt file with your boot.ini file

kirbyrj's boot.ini said:
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect /bootlogo /usepmtimer

Add the /usepmtimer as noted above and it will do what the driver does for you. If it is already there and you still have problems, you might want to take it out and try again, or try one of the other fixes.

Fix #3 - The Microsoft Hotfix

NOTE: This Hotfix is only for Windows XP w/SP2 per the documentation at the link below. Not required for XP SP3 as it is already installed.

Here is the official Microsoft link to v.4 of the Hotfix.
http://www.microsoft.com/downloads/...FamilyID=C2AB5A48-8240-4934-BBD8-34FB8A0FCE3B

Other versions (v.3) can be found at one of these mirrors:
http://exphose.com/upfiles/1/WindowsXP-KB896256-v3-x86-ENU.exe
http://www.evilkitty.org/misc/WindowsXP-KB896256-v3-x86-ENU.exe
http://static.hardwareluxx.de:443/hardware/andreas/Software/WindowsXP-KB896256-v3-x86-ENU.exe
http://techtype.msfnhosting.com/windowsxp-kb896256-v3-x86-enu.exe
http://www.perambula.net/res/WindowsXP-KB896256-v3-x86-ENU.exe

If you need to disable the hotfix, edit the registry as noted here (specifically note #7 which details how to deactivate/activate the hotfix):
http://support.microsoft.com/Default.aspx?id=896256
Microsoft.com said:
1. Click Start, click Run, type regedit, and then click OK.
2. Right-click HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager, point to New, and then click Key.
3. Type Throttle for the new key name.
4. Right-click Throttle, point to New, and then click DWORD Value.
5. Type PerfEnablePackageIdle for the value name.
6. Right-click PerfEnablePackageIdle, and then click Modify.
7. In the Value data box, type 0. Make sure that Hexadecimal is selected in the Edit DWORD Value dialog box, and then click OK.
Note You can type 1 in the Value data box to enable the new performance state policy behavior.
8. Quit Registry Editor.
Specifics as to what is being done from the power management side of things can be read at the link above. These are just the changes that need to be made in the registry. Also note that in the DWORD value box, you enter a "0" to disable the power state created by the hotfix and enter a "1" to enable it. For the purposes of fixing the games, enter a "1".

Fix #4 - Set the Affinity Manually

Finally, the last and least glorious of the fixes is to manually set the CPU affinity of certain programs. This can be done in several ways.
1. Alt-Tab out of your game, CTRL-ALT-DEL to the Task Manager, Under the Processes tab, right click the .exe file for your game and go to Set Affinity, Uncheck CPU 1.

2. Use a program to launch games
Win2000/WinXP Launcher to load games. (Available here: http://www.majorgeeks.com/Win2000_Launcher_d438.html or http://www.majorgeeks.com/WinLauncherXP_d870.html). This will allow you to set the CPU affinity before loading the game, which is useful for games that don't respond well to Alt-Tabbing.

3. Use an affinity masking tool such as
ImageCFG (http://www.robpol86.com/Pages/imagecfg.php for instructions on how to use). Backup your .exe before using this program. Imagecfg has a problem with some directories with spaces in them, so its easiest to stick it in the folder with the *.exe file you want to change. Then use the command you need (knowledge of the DOS prompt is a must ;) ):

imagecfg -a 0x1 game.exe for core 1
imagecfg -a 0x2 game.exe for core 2

This will alter your .exe file, so make a backup of it. Especially since future game patches might not work with a patched .exe.

RunFirst - http://www.activeplus.com/us/freeware/runfirst/

Affinity Set Command by JakFrost
http://www.hardforum.com/showpost.php?p=1029075750&postcount=431


Alternate Fix #5 - Newer video drivers for your graphics card
If you're using an Nvidia video card. Download one of the Forceware 80 or 90 series drivers which are dual core optimized. Latest are available here:
http://www.nvidia.com/content/drivers/drivers.asp
Some older drivers may/may not work with some games/benchmarks and dual core processors.

Nvidia drivers have been clearing up some dual core crashing problems and some other games without having to go through the optimizations below.
http://www.nvidia.com/Download/index.aspx?lang=en-us

ATI drivers available here:
http://support.amd.com/us/gpudownload/Pages/index.aspx
I would assume dual core support to be forthcoming in future Catalyst releases.

Nvidia Dual Core Driver Optimization
Warning, still testing this, if you have results please post
If you are experiencing problems with the Nvidia dual core driver optimizations, you can turn them off in the registry by using the following steps (or use the older 77.77 drivers). As always, backup your registry before editing.

Nvidia Forums said:
1. Go into Regedit and determine the current primary display card by looking in HKey_Local_Machine\Hardware/DeviceMap\Video and note the GUID (global unique indentifier assigned by Windows) for the entry "\device\video0" which is the long string at the end of the entry in brackets { }.

2. Edit HKey_Local_Machine\SYSTEM\CurrentControlSet\Control\Video\{guid}\0000, where {guid} is the number derived from the above step.

3. Open the "0000" directory and enter a new key called OGL_ThreadControl and give it a value of 2. This will disable multithreading in the driver for all OGL apps.

4. In the same "0000" directory, to disable driver multithreading for all D3D apps, you can enter WTD_EXECMODEL and give a value of 0.

Conclusion
One of the above solutions should fix 98% of your gaming problems with dual core CPU's. Any comments or suggestions are welcome.
 
Last edited:
Feel free to post telling which games are fixed by one of the solutions if you've had problems. Note: Not all systems will be affected in the same way.

Games Fixed by #1
Morrowind
HalfLife2 (Source Engine games)
BF2

Games Fixed by #2
FarCry
HalfLife1 (CS/DoD)
Need For Speed:MW
Unreal Tournament (Original)
Lineage 2 (in some cases)
Serious Sam 2

Games Fixed by #3
If the above fixes don't work
Lineage 2 (in some cases)
Warcraft 3
Call of Duty 1
HL2 Engine w/HDR enabled (Nvidia video cards)

Games/Benchmarks Fixed by #4
Aquamark3
3dMark2001
KOTOR/KOTOR II with Nvidia Beta 84.12 drivers
 
This was a much needed thread. Nicely done.

One question though. What does the AMD Driver do to WoW?
 
JustinSane said:
This was a much needed thread. Nicely done.

One question though. What does the AMD Driver do to WoW?

It saves you from playing that awful awful waste of time!

<--Retired 60 Rogue + 60 Warrior
 
From what I've read, WoW doesn't respond well to the /usepmtimer. It creates a problem rather than fixes it.
 
kirbyrj said:
From what I've read, WoW doesn't respond well to the /usepmtimer. It creates a problem rather than fixes it.
Unreal Tournament (pre-2003/4) also reacts poorly to the AMD driver installation. #1 a no-go.

Goes from speedy stuttering to smooth as molasses. Cold, slushy molasses. :(

Item #3 (processor affinity) does the trick at the moment.
 
Strikemaster said:
Unreal Tournament (pre-2003/4) also reacts poorly to the AMD driver installation. #1 a no-go.

Goes from speedy stuttering to smooth as molasses. Cold, slushy molasses. :(

Item #3 (processor affinity) does the trick at the moment.

Did the hotfix work with original UT? I have it around here somewhere and I might reinstall :).
 
kirbyrj said:
Did the hotfix work with original UT? I have it around here somewhere and I might reinstall :).
Currently testing the hotfix. So far, not bad. Then again, a clean load of XP usually runs UT fairly well on the X2 4400+ / A8N-SLI Deluxe combo, but the ability to run smoothly degrades over the uptime of the computer. I also run two instances of Folding@Home on this crate (to justify leaving it on 24/7 :D ).

UT is the premier "old school" FPS. Get it out, man, get it out! :)

 
Strikemaster said:
Currently testing the hotfix. So far, not bad. Then again, a clean load of XP usually runs UT fairly well on the X2 4400+ / A8N-SLI Deluxe combo, but the ability to run smoothly degrades over the uptime of the computer. I also run two instances of Folding@Home on this crate (to justify leaving it on 24/7 :D ).

UT is the premier "old school" FPS. Get it out, man, get it out! :)


LOL...I'll add it to my list of games fixed by #3 ;). Let me know how the hotfix holds up with it.
 
Games fixed with #1 : Morrowind, HL2, BF2

*Note : These are on a dual-core Opteron, not an X2. YMMV with an X2.
 
Wow this thread could have saved me hours of headache a couple of months ago.

Thank you
 
I had to search for this stuff this weekend. I hadn't applied anything but the latest Nvidia drvers, and the new Need For Speed MW game played horribly. I eventually discovered that setting the affinity was a possible fix (i've had several SMP systems in the past) as well as using "Windows 2000 Compatibility" mode on the shortcut. I performed the #1-3 fixes Friday night and finally got NFS running perfect. I did come accross some confusion with the registry fix. Some people claimed that it SHOULD be set to ONE and not zero... I don't see a difference either way on my machine.
 
seanmcd said:
I did come across some confusion with the registry fix. Some people claimed that it SHOULD be set to ONE and not zero... I don't see a difference either way on my machine.
The registry entry is to disable the hotfix, should you need to. Setting a zero disables it (as per the instructions from Microsoft.)

 
Strikemaster said:
The registry entry is to disable the hotfix, should you need to. Setting a zero disables it (as per the instructions from Microsoft.)


beat me to it ;).
 
Strikemaster said:
The registry entry is to disable the hotfix, should you need to. Setting a zero disables it (as per the instructions from Microsoft.)
That's where the confusion steps in. The steps above would then indicate - install this hotfix, and then on the next step, make a change in the registry to effectively disable the previously installed hotfix...?
 
seanmcd said:
That's where the confusion steps in. The steps above would then indicate - install this hotfix, and then on the next step, make a change in the registry to effectively disable the previously installed hotfix...?

I'll change the wording a little to make it clearer...thanks for the input.
 
nice work mate, will most certainly fix alot of people's problems, well done.
 
kirbyrj said:
What games?

All of em just about. I just use WinXPLuancher and set them all to a certain affinity, since none of them are multithreaded.

i dont think I had any problems with WoW, but I stopped playing soon after i upgraded to my X2.
 
I just started playing WoW again and haven't noticed any stuttering. I only installed the AMD driver, not the MS hotfix. I did notice you can't change the cpu affinity of WoW, which I'm guessing has to do with some anti-hacking measure.
 
skindogg said:
I just started playing WoW again and haven't noticed any stuttering. I only installed the AMD driver, not the MS hotfix. I did notice you can't change the cpu affinity of WoW, which I'm guessing has to do with some anti-hacking measure.

Can you launch WoW using a program like the Win2000 launcher to set the affinity?
 
kirbyrj said:
LOL...I'll add it to my list of games fixed by #3 ;). Let me know how the hotfix holds up with it.

Hotfix holding up well. 2 days with only it in the system, and no degradation seen in game performance. F@H seems to be balanced in a loss of work cycles between the two processes while I thrash 'bots. :D

Call UT "playable" with #2, the enabled Microsoft hotfix.
 
I did fix #2 aswell as the amd driver bfore
my comp is considerably slower now 0.0!

edit but fix #2 did definetly fix my problem with lineage 2 (runs of UT engine)
 
Digital Viper-X- said:
I did fix #2 aswell as the amd driver bfore
my comp is considerably slower now 0.0!

edit but fix #2 did definetly fix my problem with lineage 2 (runs of UT engine)

Slower in what way?
 
Hmm...I didn't notice a slowdown. Maybe I'll do some more reading about it.
 
kirbyrj said:
Hmm...I didn't notice a slowdown. Maybe I'll do some more reading about it.

well I changed the registry entry to 0, and now my game works and the slowdowns are gone 0.0 so I dunno =p

dood we have a very close system =D
I just got a P180 with an enermax liberty 500
man i love this case 7800gtx once i save up some more :/
 
The guide is awesome !!!

Thx for the afford to create this guide, but here, I also try to use my little power to ask you - all X2 users please help to report/complain/RMA your buggy X2 processor(s) to AMD and force them to face their own problem. I never saw so many users affected with a problem from any series of CPU from any brand (even cyrix), but AMD never respon to their faulty design on the X2s, or trys to provide any fix, replacement or refund on it.

Guys, don't let something to mislead you, its nothing wrong with speedstep technologies(since EIST works perfectly) and the dual core/SMP support with windows XP (since Pentium D, dual Xeons and even dual single core Opterons system work perfectly).

As the result of my reserach, the issue causes by a buggy logic which inside the X2s can't handle the HLT command correctly, that's why none of the bios update able to fix this problem. The only fixing method is actually taking benefit from another OS bug: Windows 2000 SP4 + update rollup, which contain a bug to prevent windows to send the HLT commands to the CPU.
 
ken328 said:
As the result of my reserach, the issue causes by a buggy logic which inside the X2s can't handle the HLT command correctly, that's why none of the bios update able to fix this problem. The only fixing method is actually taking benefit from another OS bug: Windows 2000 SP4 + update rollup, which contain a bug to prevent windows to send the HLT commands to the CPU.
What in the world are you talking about?
 
seanmcd said:
What in the world are you talking about?

It is proved that the HLT command will make the X2 to give out wrong TSC value, this symptom never appear on Pentium D, Dual Xeons and Dual Single Core Opterons systems.
 
ken328 said:
It is proved that the HLT command will make the X2 to give out wrong TSC value, this symptom never appear on Pentium D, Dual Xeons and Dual Single Core Opterons systems.

The HLT command is a simple instruction that tells the CPU to 'sleep'. This way, it consumes less power and hence generate less heat. For those of you keeping score at home ;). I didn't know so I looked it up :p

(I also see that I am now supremely [H]ard) ;).
 
Aren't these fixes only needed if you are using cool and quiet? I have cool and quiet disabled in the bios.

As for me, I installed my X2 on Sat and have not had a problem with slowdown in any games, UT2004, Doom3, or HL2. I have not installed any patches, drivers or hotfixes.
 
Back
Top