Originally Posted by
Guamguy Usage of GPU acceleration, depends...phone to phone...
Generic Android phones, like HTC Magic, G1, Nexus One...the generic Android OS itself doesn't do much GPU acceleration. The Qualcomm Adreno 200 can be slower than the CPU on some operations, and the OS should avoid hardware dependencies by coding to the GPU. This way, it makes it easier by another party to take the OS and optimize it to the GPU of their choice.
HTC Sense and Samsung TW, on the other hand, are hardware accelerated. That is why the Galaxy S can deliver very smooth graphics. If you compare the Droid Eris or HTC Hero with HTC Sense vs. the HTC Magic with raw UI--- both the same CPU, same GPU --- the Eris has much smoother swipes and scrolls. Compare the Nexus One with the HTC Desire or Droid Incredible and you have similar parallel experience.
If you have the Desire Z or Desire HD, try swiping and scrolling, and its even smoother than the Desire or Droid Incredible. The first and second generation Snapdragons used by these phones are equal when it comes to all general CPU operations. Where they differ is that the second generation Snapdragon has a much faster GPU. The reason why an 800MHz Desire Z can swipe and scroll smoother than a 1GHz Droid Incredible --- noticeably so --- is because the GPU is that faster. By extension, we know the GPU is being used in the interface.
Even without running benchmarks, get the Coca Cola holiday Live Wallpaper. This wallpaper can truly tax the GPU with anything from particles to 3D. You can see it relatively go from choppy to smooth in that order of phones:
Nexus One, Droid Incredible, HTC Desire (choppy)
Nexus S, Samsung Galaxy S, HTC Desire Z (smooth)
Since they all have a GHz processor, the performance difference is due to GPU differences and therefore use of the GPU is involved.
Using the GPU in HTC Sense and Samsung TW do result in hardware dependencies and it does make porting a new Android OS slower, since the generic Android OS lacks the specific optimizations, and its the vendor's job to do the optimizations to the CPU/GPU of their choice.
When you optimize for one GPU, these optimizations don't work on another. We don't expect optimizations for nVidia to be the same for Radeons either. That's why HTC has to do the optimizations for the Qualcomm CPUs, while Motorola does for the TI OMAP6 series, and Samsung for the Hummingbird. And now we got new factors coming in, with the nVidia Tegra2.
So yeah, Google using a Galaxy S/Hummingbird platform to build their Gingerbread, which appears to have GPU optimizations, means Gingerbread as it exists on the Nexus S is Hummingbird optimized. This version of the OS as it is, has its hardware dependencies to the Hummingbird and its PowerSGX 540 GPU.
Does it surprise you it would take longer for Gingerbread to be ported to the Nexus One? You have to take all these optimizations and make them work on the Qualcomm Adreno 200 GPU. It will also be another bit of work for the Adreno 205 GPU used in the newer Snapdragon like the G2. Since the OMAP6 uses a lower form of PowerSGX compared to the Hummingbird, I wonder how the work will be for Gingerbread to go into OMAP6 equipped devices like the Droid 2 and X?