After my last benchmarks, I thought it might be interesting to do a measure of how advanced transformations (scale, alpha, rotation) affect GPU mode, vs what we are normally used to in CPU Mode.
In this benchmark, I do a simple sprite rendering test. One version applies alpha between .2 and 1, a constant +1 to rotation every frame, and a random scale between .5 and 1.5, the other version simply modifies x/y properties, with no scaling, alpha or rotation applied.
We used iPad 2 as our test device, and tested both GPU and CPU modes (Update: Added “direct” rendering mode as well, just for kicks)
As you can see, these advanced rotations are quite cheap when using GPU mode. GPU mode saw a performance hit of about 15% when applying all 3 advanced translations, CPU Mode on the other hand takes massive 66% drop in performance!
Note: My previous render tests used “direct” when testing CPU mode, rather than “cpu”, that’s why the numbers are so much higher for the cpu tests there. “direct” is a hybrid rendering mode, which uses the GPU to render, but is not nearly as optimized as full GPU mode when using shared textures.