1

信じられないほど賢いRomainGuyによる回答を期待しています(ただし、アイデアを持っている人からの回答が欲しいです!)。

以前、彼は、 HWアクセラレーションがデフォルトで有効になっていない理由を尋ねるユーザーに応えて、次のように書いています。

互換性の理由から、デフォルトではオンになっていません。オンにしたときにCanvasAPIの100%がサポートされるわけではなく(不足している部分は非常に少なく、ほとんど使用されませんが)、新しい実装にバグがある可能性があります。新しい制約もあります(たとえば、OpenGLテクスチャの最大サイズよりも大きいビットマップを描画しようとすると失敗します)。

新しいレンダリングパイプラインは、ビューごとにネイティブディスプレイリストも使用するため、一部のアプリでバグが発生します。たとえば、ビューがその親に依存してそれ自体を再描画するためにinvalidate()に依存している場合、それはアプリのバグですが、ハードウェアアクセラレーションなしで「機能」します。ただし、ハードウェアアクセラレーションがオンの場合は機能しません。

私たちの目標は、ハードウェアアクセラレーションをデフォルトでできるだけ早くオンにすることですが、アプリを壊したくはありません。そうは言っても、標準のビューとAPIを使用するアプリは問題なく動作するはずです。

ルート権限を取得されたHoneycombデバイスでHoneycombのハードウェアアクセラレーションをデフォルトでオンにする方法があるかどうか疑問に思いました。潜在的な問題にもかかわらず、私はまだそれを試してみることに興味があります。build.propをざっと見たところ、何も見つかりませんでした。誰かが私を正しい方向に向けてくれませんか?

前もって感謝します!

4

1 に答える 1

1

あなたはそれを行うことができますが、システムプロパティはありません。ソースコードまたはコンパイルされたコードを変更する必要があります。hwAcceleratedフラグのチェックは、いくつかの場所で行われます(ActivityManagerで、次にViewRootで)。

于 2011-08-01T10:46:26.657 に答える