…was going to be the title of this post, but it’s not any more! Tricky, hey?
See, it wasn’t X3’s fault, as it turns out, despite every other game seemingly running fine. At least, there were other contributing factors, so it wasn’t just X3.
X3 had been coyly winking at me from Steam for a little while, and after verifying that it wasn’t actually copy-protected in its online format, I decided to go for it. So, $US19.95 later, I’m downloading it. An hour after that, I’m nearly ready to put a boot through my monitor: it crashes almost every time the target changes. And that happens a lot.
I tried all the usual stuff: driver upgrades for the nvidia 6600GT and nforce4 motherboard; random other tweaks, settings (EAX, graphics, glow, blah, blah blah) but nothing seemed to work.
Ultra-long hair-pulling story short, with a new processor driver, not one crash since. I’ve pulled the links together below… Somewhere between Dual Core and Cool n Quiet, the game was choking.
And for the record, I hate not being able to use time skip while docked any more. And yes, it’s still a good game with an insane learning curve and some counterintuitive UI decisions. But it’s lots of fun!
So anyway, I run a dual-core Athlon64 X2 4400+, and I use the AMD Processor Driver. It’s been updated since the last time I grabbed a copy (early June, I think)…
AMD Athlon™ 64/FX Processor Driver for Windows XP and Windows Server 2003 Version (x86 and x64 exe) 1.3.2.16 – Allows the system to automatically adjust the CPU speed, voltage and power combination that match the instantaneous user performance need.
Download Now! July 2006
… and they’ve also added some Interesting Things to help with older games…
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.
Download Now! June 2006
…to get around some Timing Problems (support.microsoft.com Knowledge Base article)
These performance issues may sometimes occur if the game was not designed for use on computers that use dual-core processors. The performance issues occur because the game cannot correctly capture timing information.
There’s a developer’s-eye discussion of RDTSC and how traditional game timing gets buggered by dual-core here: Game Timing and Multicore Processors (short article)
With power management technologies becoming more commonplace in today’s computers, a commonly-used method to obtain high-resolution CPU timings, the RDTSC instruction, may no longer work as expected. This article suggests a more accurate, reliable solution using the Windows QueryPerformanceCounter and QueryPerformanceFrequency APIs.
AMD have a short blurb on the RDTSC problem and related solutions in a PDF here.
Gamers: Just get the latest processor driver (and/or Dual Core Optimizer) and you’ll be right, mate.