I'm still behind the times, so I've been using an (AGP) desktop (Dell P4-2.8) for BF2 that I originally upgraded with a 6600GT AGP card, 400w PS, and 1 gb ram.
This set-up worked fine, but with the advent of newer technology in the 7800 and 7900 series chips from NVIDIA, there was more benefit to upgrading again than simply a little faster processor (TAA, 3.0 shaders, faster GDDR3 VRAM).
NVIDIA's release of the 7800 based AGP card was brilliant. It not only filled an AGP upgrade niche, but it also provided a way to for NVIDIA to market chips that otherwise wouldn't have been good enough to make it onto PCI-E cards.
I don't want to erroneously repeat technical jargon that I read while doing research of my own, so I'll just say that the 7800GS far out performs my 6600GT by using newer technology as well as a few more horses.
Plus, the damn thing runs at only 50 deg.C. with a full load. Because of this, it only takes up one card slot, and has no heat-related problems.
Although the 6800 Ultra is probably still the fastest AGP card (if you can find one), it runs way hotter than most other cards.
I have now upgraded to an e-VGA 7800gs superclocked, and added another gig of ram (2). It runs BF2 with no problems or stutter, and I have invested much less than I would have if I had made the full PCI-E upgrade.
I love this E-VGA card, which was the fastest available when I bought it in March, and it only cost me about $309 from New Egg.
Now if I can only get the VoIP to work again since installing TeamSpeak, I'll be happy.