Hardware Acceleration - OpenGL vs Canvas

I have made a game using Canvas but for performance reasons want to switch to using Canvas. However, some devices such as HTC Tattoo does not have very good hardware acceleration and performs worse with OpenGL! Wondering if anyone has made thoughts about that? Should both OpenGL and Canvas be supported and the user be able to choose via an in-game setting? Or the game can autodetect and choose OpenGL or Canvas? Or is it so few phones that don’t support OpenGL HW accelerated that it is ok to just only go with OpenGL? I think I will end up just going with OpenGL for simplicity.

Anyone had similar thoughts? Any input appreciated!

/Martin

I have collected the following statistics from our Canvas game, using a dummy-gl thread:

Percen Renderer
25.7% Adreno
25.7% Q3Dimension MSM7500 01.02.08 0 4.0.0
15.5% PowerVR SGX 530
12.3% unknown renderer
11.9% AMD Z430
6.24% FIMG
2.19% Android PixelFlinger 1.0
0.11% PowerVR SGX 540
0.08% Android PixelFlinger 1.2
0.01% Android PixelFlinger 1.1

Note that 'Android PixelFlinger ’ renderers are software renderers. The tattoo uses Android PixelFlinger 1.0 and that one is definitely way slower than canvas, and makes our game (in its yet unpublished gl-version) run crappy. I don’t know if the 1.1 or 1.2 version of the pixelflinger runs a lot better. I believe the rest of the renderes are hardware renderers, and that they are the names of the chip.

So making a strict gl-game you may loose 2% of your customers due to bad performance. That ofcause does not include what you may gain using opengl due to better performance and/or nicer graphics.

FIMG is software too, the spica uses it for example.

Apart from the customers you lose from bad performance, you also risk losing customers from bad comments and ratings by the unhappy customers.

You’ll get bad comments and ratings even if you have the most awesome app ever, so I wouldn’t stress it. People are stupid.