For just over $200, you could get yourself a GeForce GTX 660 - which should play games at medium-high settings without a problem. You'd most likely get lower frame rates at a higher resolution such as 1920x1080, but if you reduced down to 1280x720 (still higher than consoles) and get decent (30-60fps) if you mix the details right.
For the same price ($209.99) - you could get Sapphire's Radeon HD 7870 GHz Edition OC, which comes with a free copy of Far Cry 3, can't complain about that! That would play games at the same kind of frame rate.
On top of the GPU, your CPU will come into play - especially in newer games like Battlefield 3. Battlefield 3 with a high-end GPU, even the GTX 670, and a mid-range GPU, such as Intel's Q6600 from a few years ago, really does stink. Sub 30-40fps, and skips in the frame rate. A better CPU, even a newer Core i3 or i5 runs it much, much better.