In my quest for improved game performance, I recently decided that my computer desperately needed a processor upgrade. My computer's Cyrix 6x86MX PR233 had an Achilles heel: the floating point unit (FPU) was slow. This is unfortunate since modern first person shooters (FPSs) need fast floating point operations for their 3D geometry calculations, and Roger Wilco--the amazing voice-over-IP software that lets you talk while you play--also makes heavy use of floating point for its voice compression/decompression functions.
In contrast to the Cyrix 6x86MX, the Intel Pentium MMX has a pipelined FPU, which means it can start the preliminaries of one floating point operation while it is finishing up another. Thus, floating-point-intensive applications run faster on the Intel Pentium MMX than on the Cyrix 6x86MX at the same clock speed/performance rating. Ditto for MMX operations.
What about the AMD K6-2? From what I've heard, its floating point and MMX performance lies somewhere between that of the Cyrix 6x86MX and the Intel Pentium MMX. Its added 3D-Now! instructions sometimes give it a boost over the Pentium MMX, but not all games support them. The K6-2 is available at high clock speeds which should overcome any limitations of its floating point and MMX units. But because these processors were introduced later than the Intel Pentium MMX and Cyrix 6x86MX, they're not compatible with the BIOS, voltage, and slow clock speeds of older motherboards like the one in my computer.
For me, buying a new motherboard was out of the question. For one thing, the combined cost of a quality motherboard and a high-speed AMD or Intel processor was more than I was willing to spend. Besides, I'm just not competent to install a motherboard.
I found a nice new 233 MHz Intel Pentium MMX at a local computer store called Chipsmart for just $46. (Yes, you can find it for about $30 on Pricewatch--with a $15 shipping charge! I chose to buy locally so the chip would be easy to exchange if it was DOA.) For once, installation was easy except that I was suprised to see that the chip looked so "naked". Instead of a nice plastic cover, the top of the CPU showed the exposed tops of the pins that plug into the socket, along with a metal case for the silicon itself. With all that exposed metal, I was worried that my heat sink/fan would short something out, so I called the store. The friendly fellow who answered assured me it was OK, so I proceeded. Consulting the manual that came with my computer, I set the motherboard jumpers for a 2.8 volt CPU core and 3.5X clock multiplier. When I booted up, the BIOS reported that I had a 266 MHz Intel Pentium MMX.
Next, I--Wait a minute! 266 MHz? The Cyrix 6x86MX PR233 uses a 75 MHz external clock frequency, not the 66 MHz that Intel intended for the 6x86MX. The 3.5X clock multiplier increases the 75 MHz to 262.5 MHz, which the BIOS recognizes as 266. Sounds good to me!
Yup, I deliberately overclocked my processor, running it faster than its specificed maximum speed rating. Be aware that Intel, like all other chipmakers, recommends against overclocking. When overclocked, the CPU might fail sporadically, or might even suffer permanent damage due to excess heat. Overclocking is downright dangerous, and if you do it you're on your own. On the other hand, Intel rates the maximum speed of its 233 MHz Pentium MMX rather conservatively; this chip has an excellent record for overclocking to this speed, and failures are rare. I gambled a little, knowing I might lose my $46 investment. But after many days of heavy use, my computer is working perfectly. Now back to the story...
Next, I performed some benchmarks. Since I wanted to know just how much my processor has improved things, I turned off my Voodoo3's vertical sync so it wouldn't be limited by my monitor refresh rate. (By the way, I have confirmed that this makes no significant difference at the slower frame rates my Cyrix processor produced, so my earlier benchmarks with vertical sync turned on are valid for comparison.) GLQuake leaped from 35 fps to 70 fps, a 100% increase! Quake II jumped from 17 fps to 31 fps, an 82% increase! (These are averages of several runs of the built-in demos.) It's harder to judge exact numbers for Roger Wilco, but from what I could tell, its average CPU utilization when encoding speech dropped from around 50% to less than 25%--a speed boost of more than 100%! Subjectively, Unreal is a lot smoother, GLQuake is totally smooth, and Quake II is also totally smooth except for barely discernable slowdowns in extremely complex situations. Best of all, now that my co-op gaming buddy has performed the same upgrade on his computer, Roger Wilco no longer causes games to exhibit start-stop-start-stop behavior when we talk; there's only a minor hesitation here and there.
In conclusion, this is the best $46 I ever spent on an upgrade. The results have exceeded my expectations. Owners of Cyrix 6x86MX-based (and maybe some AMD K6-2-based) computers should consider it.
Is the overclocking really necessary? I also benchmarked two other configurations: the standard 66 MHz x 3.5 = 233 MHz, and the slightly weird 75 MHz x 3 = 225 MHz. At 233 MHz, GLQuake and Quake II yield 62 and 27 fps, respectively. At 225 MHz, GLQuake yields 64 fps and Quake II runs at 28 fps. Huh? 225 MHz is faster than 233? Yes, because running the whole computer system at a faster bus speed makes up for a slightly slower clock rate inside the microprocessor. Similarly, at an external clock speed of 75 MHz, increasing the CPU clock multiplier from 3 to 3.5 and internal CPU speed from 225 MHz to 262.5--an increase of over 16%--resulted in an overall speed boost of only 8%. There are limits to how far you can increase system performance simply by upshifting the clock rate of the processor alone. Given this information, my conservative buddy decided to run his Pentium MMX at a safer 225 MHz, while I opted to go with the overclocked speed.
One final interesting observation: The id-sanctioned book Official Quake II
Strategies and Secrets has a section titled "Processor Wars" that describes the slowdowns
caused by the FPUs in K6 and 6x86MX processors. But it adds, "The good news is that this
deficiency does not affect the performance of GL rendering with a 3Dfx card installed."
Wrongo! As I've mentioned, all my tests were done using a Voodoo3. Though the graphics
board can speed up many operations, there's still plenty of floating point left to the FPU.
Moral: you can get misinformed even by a trustworthy source.
to the Rants, Raves, and Reviews main page
to The World of the Wondersmith