Hoping for an answer by the incredibly wise Romain Guy (but would love an answer from anyone who has any ideas!).
Before, he wrote the following in response to a user asking why HW acceleration wasn't enabled by default:
It is not turned on by default for compatibility reasons. Not 100% of the Canvas API is supported when turned on (although the missing parts are very few and rarely used) and there might be bugs in the new implementation. There are also new constraints (for instance if you try to draw a bitmap larger than the maximum OpenGL texture size, it will fail.)
The new rendering pipeline also uses 开发者_运维技巧native display lists for each View, which triggers bugs in some apps. For instance, if a View relies on its parent to invalidate() to redraw itself, it's a bug in the app, but it "works" without hardware acceleration. It will however not work with hardware acceleration on.
Our goal is to make hardware acceleration on by default as soon as possible but we do not want to break apps. That said, apps using standard views and APIs should work just fine.
I was wondering if there is any way to force Honeycomb's hardware acceleration to be turned on by default on a rooted Honeycomb device. Despite the potential issues, I am still interested in giving it a shot. I gave the build.prop a cursory glance and couldn't find anything. Does anyone care to point me in the right direction, please?
Thank you in advance!
You could do it but there is not system property. You would need to modify the source code or the compiled code. The check for the hwAccelerated flag is done in a couple of places (in the ActivityManager and then in ViewRoot.)
精彩评论