Dual Core Gaming Fix Guide:

Discussion in 'PC Gaming' started by ShepsCrook, Jun 8, 2006.

  1. ShepsCrook

    ShepsCrook Red Sox Fan!

    Dual Core Gaming Fix Guide

    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. This thread is intended to consolidate a number of fixes I've come across in this forum and elsewhere.

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

    1. Install the AMD Processor driver found here:
    AMD Athlon™ 64 X2 Dual Core Processor Driver for Windows XP and Windows Server 2003 Version (exe) 1.3.1 (or other driver depending on your OS). (There is an updated version of 1.3.1) I'm looking to see if I have because some people think that runs better.)

    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
    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
    Originally Posted by kirbyrj's boot.ini
    [boot loader]
    default=multi(0)disk(0)rdisk(0 )partition(1)\WINDOWS
    [operating systems]
    multi(0)disk(0)rdisk(0)partiti on(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 #2 - The Microsoft Hotfix

    NOTE: This Hotfix is only for Windows XP w/SP2 per the documentation at the link below

    Install the hotfix file found at one of these mirrors:

    If you need to disable the hotfix, edit the registry as noted here (specifically note #7 which details how to deactivate/activate the hotfix):
    Originally Posted by Microsoft.com
    1. Click Start, click Run, type regedit, and then click OK.
    2. Right-click HKEY_LOCAL_MACHINE\SYSTEM\Curr entControlSet\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 #3 - 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

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

    Nvidia Beta drivers have been clearing up some dual core crashing problems and some other games without having to go through the optimizations below.
    http://www.nzone.com/object/nzone_d...tadrive r.html

    ATI drivers available here:
    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.
    Originally Posted by Nvidia Forums
    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\Curr entControlSet\Control\Video\{g uid}\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.

    One of the above solutions should fix 98% of your gaming problems with dual core CPU's. Any comments or suggestions are welcome.