Hi ussr1943! BF2 is great, isn't it!
Here's a few tips that might help you along while gaming:
Play a single player game, not online. If it still lags, then it's your system. Doing some of the below might eliminate the lag.
Choose a map with a low ping. High pings are just guaranteed lag fests. Low pings will help to eliminate lag from online play.
Stay away from the huge maps. Maps that are 64 players are large maps, and have usually 50+ people in them. That's a lot for a computer to handle, and might cause lag in itself. Stick with smaller maps. Personally, I seldom enter a 32 player map. I tend to stick with 24 player and below.
Don't be afraid to drop the resolution a bit, or turn off anti-aliasing (AA). This should help to speed things up a bit. You can go through and customize the video settings, turning off certain things that will help relieve your system of the demand that BF2 puts on it.
Are all the programs required? Meaning, do programs like AOL, Yahoo, google notifier, java updater, xfire auto update checker (or what ever it's called) etc. etc. run in the back ground? Each of these programs sucks up your bandwith just a bit. All of them combined suck up a lot of bandwith. You can check HERE
to see what programs are needed, not needed or user defined for starting when windows starts.
I hope that this helps a bit! Post back and let us know!