And why is this? Let me explain. As you know we are currently developing a game for iOS here at VisualDreams. And for sure we thought that our game would have the best performance on iPhone 4. But thats not the case. iPhone 3gs runs with about 20 more frames per second, 60 fps against about 40 fps on the iPhone 4.
All this because iPhone 4 has a higher screen resolution. The problem is that iPhone 3gs and iPhone 4 have the same GPU, and this means that when rendering 2D textures, iPhone 4 has to render 4 times as many pixels to the screen and thus have a much higher fillrate.
So now I'm working hard to optimize the rendering on iPhone 4. The thing is that there isnt that much to do when you are fillrate bound except from optimizing all the textures. As for now we dont use sprite atlases, maybe we could gain a few fps by lowering number of drawcalls.
In a worse case scenario we would have to go with the same resolution as iPhone 3gs. But hopefully this problem will be solved in a near future. I will let you know how it goes..