I was thinking the same when I decided to choose between either of these cards, I chose to get the 670, this card will last for a long time, and it will though.
I have the same card as well, haven't tried played BF3 on it. But all my other games run well, maxed out completely. Usually it's the drivers for the game, might want to check it, or check the NVIDIA control option for that driver.