McMick wrote:All the id games back to Quake 1 support SMP (well, multithreading at any rate).
This is incorrect, at least in the "nearly linear performance scaling with plural cores" sense. Quake I and II were very much single-threaded rendering games, and Quake III Arena's SMP support was quite glitchy out of the box, frequently failing to deliver much improvement at all. The ioQuake3 source port has come a long way in helping to fix this, but the last time I tried it only seemed to work properly in Linux; enabling the setting under Windows resulted in a screen full of gibberish.
Doom 3's renderer is not multithreaded; a single optimized transform pipeline was implemented to ensure good performance across a majority of systems which existed at the time. Quake 4's SMP renderer was a cooperative effort between id and Raven, who developed the title. Speed gains are nice: my Athlon II X2 250 gained around 30% performance just by toggling on SMP in Win7 x64. It seemed to have notable problems in Linux, alas. Rage appears to be the first id game that's shipped with a well-optimized, multithreaded renderer necessary for good performance.
In the realm of non-id games, UT2004's audio handling is separated into two separate threads (one for decompressing Ogg Vorbis audio, and another for playback), so multi-CPU and Hyperthreading-capable systems will see a 5-15% performance boost. The Source Engine's SMP support was relatively recent, first introduced with Left 4 Dead and progressively backported to Team Fortress 2, then the rest of the Orange Box. And, to my surprise when I reinstalled it last month, Valve ported the current SMP-capable Source engine all the way back to Half-Life 2 some time fairly recently.