The 3GS does have the same GPU as the 4 right? It's just the processor is ~200MHz slower. Not to mention the 3GS has 4X less pixels than the 4.
You are forgetting two crucial aspects: battery life and RAM. First of all, the iPhone 4 could take a small hit on battery life since there's such a big battery; the iPhone 3GS cannot.
Secondly, the iPhone 4 has got 512 MB RAM. And if history tells us anything, when it comes to iOS devices RAM is more important than CPU clock speeds.