I will give you my problem with Battlefield 2 and hopefully someone will have an idea. I have went a few different routes before posting here, this is my last resort.
My computer will load the game and play the first map just fine. When it gets to the second map my load speed slows down, but eventually after 20 extra sec it gets in. Usually it'll start to play the second map and *bam* either CTD or lost connection. In the rare case that is does continue to play, it is a little laggy and well the play is minimal at best. This is the part where I go to the menu screen and try and find another server. The funny thing is, is that I go from 1500 servers at a 180 ping set (so in game around 120) to maybe 300 servers if I am lucky. I usually hit QUIT and start a new game.
I have a cable connection at 365 for upload-down is around 2000 sitting in booneys of Alaska. 2nd best cable upload I could get. I had a guy from the company make sure those levels where all good. Ran Dsl reports as well. My computer is virus free and always clean. So far this is what I have done; Unistalled BF2, Ran AVG & Spybot in safe, Cleaned Resitry, Deleted all files and folders related to BF2, and then reinstalled game with all patches applicable. I had to go the extra mile on this, because I deleted all patches in my folder. 1.21 1.22 1.3. Blah blah blah....finally I got all installed and still got the same problem. So I surrendered !! I noticed problems after 1.3 patch, about 2 weeks ago or so. I have done 3 un-installs so far, but am willing to do whatever. Yes all drivers for everthing in my system are up to date.
Now I play my first map and if it craps out I just hit quit and start again.
Dont think it is hardware, but here are specs.
3500+ 64 Amd
Dual Raptor HDs
Thermal take 420 ps
nvidia nforce4 platform