私は ICS で開発を行っており、SurfaceView 内で Canvas を使用するときに Canvas.isHardwareAccelerated() が常に FALSE を返す理由を理解しようとしています。
私はこのような非常に基本的な例を試しました: http://android-coding.blogspot.com/2011/05/drawing-on-surfaceview.html またはこれ: http://jmsliu.com/199/android- canvas-example.html
特定の描画呼び出しに対してサポートされていない HW アクセル操作を行った可能性があると考えて、描画ループ内にキャンバス呼び出しを持たないように修正しました。「サポートされていない描画操作」の下でこのリストを確認しました developer.android.com/guide/topics/graphics/hardware-accel.html が、私はそれをしていません。
開発者向けオプション内とマニフェスト内で強制 GPU レンダリング フラグを使用しています。また、minSDK/targetSDK >= 14 を指定しています。
View.isHardwareAccelerated は TRUE を返しますが、Canvas.isHardwareAccelerated は常に FALSE を返します。
私は、Canvas.java が isHardwareAccelerated() に対してハードコードされた return false を持っているのに対し、HardwareCanvas.java は true を返すことを見てきました。なんらかの理由で HW パスを取得していないと思いますが、なぜですか?
SurfaceView 内のキャンバスをハードウェア アクセラレーションできますか?
ありがとう