specifically for BF3, the GTX 570. though the 7850 will be less taxing on the psu and if you do plan to crossfire, would be less demanding on your psu overall(with a single 6 pin requirement compared to the 2 6pin requirements of the 570 and the 560ti)
any u can recommend? my budget is $2000 i got about 400-500 for a gfx card but id prefer the best at the lowest price possible
Get a gtx 670. $400 dollars, will max out bf3 with AA on full. If you don't want to spend quite that much, get a radeon 7870. IMO the 670 would be worth the higher price because you will be much more future proof. A 7870 will run bf3 pretty damn well, but won't max it out if you use full AA on Ultra. Don't get anything with less than 2 GB of VRAM if you plan to run bf3 on the highest settings. The least I would get would be a 7850. Get that over the 570. The stock 570 is great but is bottlenecked with VRAM. The 7850 will be more future proof in that regard and will scale much better in crossfire as a result.
Hope this makes sense, don't feel like proof reading