Monday, April 5, 2010

2-D Graphics on the Droid: After the Storm

My last post generated quite a stir over the weekend, with many able to reproduce similar results to mine but wondering whether it really matters. Others swear that they don't see any negative impact to their 2.1 experience on the Droid. A commonly offered explanation is that perhaps a 30fps cap was put in place in order to provide better battery life and possibly more responsiveness to touch input.

Here's why I don't buy that explanation. Something many others have noticed (and that I didn't stress enough in my initial post) is that there is quite a bit of fluctuation from 30fps to 60fps and back at seemingly random times. This is worse than just having a 30fps cap since it causes a jerky effect in some apps (not all applications, just some).

Others have suggested that devices such as the Droid and Nexus One are "fill-limited" to 30fps. I asked Chris Pruett, Google's Android Developer Advocate (and author of the awesome Replica Island game) about this. He confirmed that this is the case, but only for OpenGL (3-D) graphics. He said that since the Droid and Nexus One have such large screens, the bottleneck for 3-D graphics on those devices is actually writing the pixels to VRAM. Ed Burnette, author of the excellent book Hello, Android also confirmed this for me. Thanks to both guys for their help.

In any case, my test application runs at a solid 60fps on the Nexus One. So it seems "fill-limiting" doesn't explain the 2-D graphics issues either.

I logged a bug in the Android database at Google Code. It's been assigned to a developer for inspection. If you'd like to follow the status of the bug, go here and vote for it by "starring" it.

1 comment: