A perennial question.
Here is my stock answer:
To help clarify your options, run these two tests:
a) Run your games, but lower your resolution and eye candy.
If your FPS increases, it indicates that your cpu is strong enough to drive a better graphics configuration.
If your FPS stays the same, you are likely cpu limited.
b) Limit your cpu, either by reducing the OC, or, in windows power management, limit the maximum cpu% to something like 50%.
This will simulate what a lack of cpu power will do.
Go to control panel/power options/change plan settings/change advanced power settings/processor power management/maximum processor state/
set to 50% and see how you do.
If your FPS drops significantly, it is an indicator that your cpu is the limiting factor, and a cpu upgrade is in order.
It is possible that both tests are positive, indicating that you have a well balanced system, and both cpu and gpu need to be upgraded to get better gaming FPS.
If you are playing BF3 multiplayer, then you are likely to have a cpu problem.
In single player, thgraphics is more important.
If you upgrade the cpu, make it a 3570K which is cheaper, $190 at microcenter:
http://www.microcenter.com/product/388577/Core_i5_3570K_34GHz_LGA_1155_Processor
You will want a Z77 based motherboard which will be <$100. Most any will do barring a need for extra features.
If you upgrade the graphics card, make it a jump of several tiers, or you may be disappointed. Perhaps to a GTX660
If you must do one or the other, I suggest the cpu/motherboard first. I see the 3570K as a 4 year cpu.
Graphics cards are easier to change out as technology gets better.