I’d installed Rainbow Six 3: Raven Shield, a game which is a couple of years old, on my relatively new dual-core AMD Athlon machine at home. (It should run fine on both machines, and I own two copies, making it ideal for gaming multiplayer with the kids.) To my surprise, the game ran absolutely horribly—a first for this box—in fact, it was completely unplayable. The video, even in the opening movie, stuttered whenever it was trying to do a fade affect. In the mission I tried, the characters wouldn’t move, although I could pan the camera, almost like the game was trying to poll the keyboard wrongly. The video seemed far jerkier than it should have been, also.
So, I did the usual bit of updating the video driver and DirectX drivers, but that didn’t help.
After a little research, and a couple of forum posts that didn’t have the right answer, but did point to a related Microsoft Knowledge Base article, I learned the cause of the problem. With visions of having to patch my BIOS (a slightly risky operation), I wen to the AMD Web site as Microsoft recommended, and discovered a surprisingly straightforward solution:
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 processor systems, by periodically adjusting the core time-stamp-counters, so that they are synchronized.
A quick Windows install and reboot, and the game ran flawlessly—at 1280 x 1024 with all the video and sound options maxed out. Sweet!
I believe there is a similar utility available for Intel multicore processors.
For the benefit of others: