I have just upgraded my graphics card from a 3870x2 to a radeon 6850.
Rest of my specs are q6600 2.4 ghz and 4gb ram
With the new card I can run BF3 at ultra settings 1080p in single player (deferred anti aliasing off ) and average about 45 fps and never drops below 30 fps.
the card only cost me £119 on Amazon.
If you are running at 1600x900 I would suggest you go for the 560 and save the 100 bucks (or get the 6850 its a bargain and does a great job at BF3, Witcher 2 and Crysis 2)