Your expecting performance that you cannot get with that card without the dev's devoting all programming to that card. They have to make an even balance between all graphics cards.
You can't expect your lower tier card to max every game it just doesnt happen in the PC gaming world.
If you want better frames get another 5770 and try crossfire otherwise, get a better card 5870, 6870, or a 6990 if your ATI, or 2x 460's or 560's a 480, 580.
There's a limit to how much you can complain about performance when its your hardwares fault, not the game...
Your getting 50 FPS on Ultra settings, how is that low?
When BF3 comes out and I try setting the graphics to Ultra on my 4870, do I blame DICE for the amount of lag I'm getting?
Or am I missing the entire point of this thread?