Most Mac gamers know that many games don't support symmetric multiprocessing (SMP) properly. The most notable exception is probably Quake 3, which properly displays the tremendous performance advantage of multiple processors once you edit the .ini file to turn SMP on in the game. Most games, however, experience little or no performance advantage on dual processors due to the way they are programmed (the excuse I've read is "because these games aren't programmed for multiple processors on the PC").

I was disappointed in my performance in Unreal Tournament 2004, despite my system upgrades (Dual 1.3 G4s, Radeon 9800), and was wondering if there was any way to more fully utilize my dual processors. Then I noticed that when flying around a map before starting a match, my frame-rate was perfectly acceptable. As soon as I started the match, however, my frame-rate would plummet. So, I decided that something other than the graphics engine was causing the poor performance. I duplicated the Unreal Tournament 2004 game to a second drive and renamed the copy "Unreal Tournament 2004 Server." Then I started that copy and configured my options as desired and ran it as a Dedicated Server. I then ran my "client" copy and joined my own server under the LAN tab.

Amazingly, my frame rates were better. Not a LOT better, but enough better to make a difference. For example, my frame-rates would often plummet into the 12-16 range when playing the first part of the AS-Convoy map running in "instant action" mode. When running as a client to my server, these jump to 15-20 (I'm using the console command "stat fps" to monitor this). This same is true on every map I've tried, and is especially noticeable in those areas where frame rate is lowest.

I've been testing this off an on now for several days, thinking that it might just be a placebo effect or something else unreproducible, but it is consistent, and the difference is enough to make the game much more enjoyable. Maps which were effectively unplayable before are now playable, and maps which played poorly now play quite well.

The only disadvantage is that you have to administer the server via the web-interface (easy to do, but change the default "web admin" port to something other than the default of 80 or it doesn't work). Also, it increases memory usage and drive access, causing a momentary "hiccup" about two seconds long each time a new map starts. Of course, you could always run the server on a second computer, but often that isn't an ideal situation.

Of course this hint will only help you if you are playing games locally. If you do this and then join a game hosted on someone else's machine this hint can actually slow you down.

Dual processors do give you some boost over single processors since the operating system can run some tasks on one processor while your game runs on the other processor. In addition I'm fairly certain that Unreal Tournament 2004 does load some tasks to the other processor, such as sound. This helps your framerate a bit over a single processor system. You can test this theory if you have Apple's CHUD tools installed. In the Hardware preference pane of System Preferences you can turn off one processor and compare how the game runs on one processor verses two.

I'm lazy so I'm not about to go through with this testing but I'm fairly certain you'll see that dual processors do provide some benefit even though these games don't have full SMP support.

This would make sense with most games that have a dedicated server, as the server and bot AI logic will run on one processor, and your game and interaction on the other, since the OS is smart enough to balance what it can.
Many newer games should be written with multiple threads, however, to take advantage of hyperthreading and other such things on the PC side, which should also correlate to OS X being able to manage the threads across multiple CPU's better. Perhaps in the next generation of games we'll see a marked improvement...one can only hope. :)