According to a very detailed breakdown of features between the iPhone 3G and the iPhone 3G S one stands out. OpenGL ES support. In the iPhone 3G you have OpenGL ES 1.1 only. In the new iPhone 3G S you have OpenGL ES 2.0 and 1.1, this is thanks to the new PowerVR SGX graphics chip in the cover.
Application developers are now faced with the problem of designing applications that can take advantage of the newer standard or making them available to more iPhone users.
Read more here.
When we were breaking down the meaty differences between the old-school 3G and the 3G S yesterday, we made an assumption about support for OpenGL ES 2.0 3D graphics APIs in the original iPhone 3G based on the fact that it had been available in the iPhone OS 3.0 SDK for several betas. Turns out, though, that the graphics processor in the 3G S -- the PowerVR SGX -- supports hardware acceleration of both OpenGL ES 1.1 and 2.0 while the more pedestrian PowerVR MBX found in the iPhone 3G supports 1.1 alone.
What does this mean to you? OpenGL ES is the lightweight version of OpenGL, a powerful library of real-time 3D rendering APIs; many modern phones and other handheld devices support the older 1.1 specification, but 2.0 is less common -- it kicks things up a notch by supporting more complex textures and shading operations, which basically means games written to support it look more badass. Here's the problem, though: because OpenGL ES 1.1 and 2.0 are completely incompatible with each other, apps need to be written to support both if they're going to be maximally compatible.