Я занимаюсь разработкой на ICS и пытаюсь понять, почему Canvas.isHardwareAccelerated () всегда будет возвращать FALSE при использовании Canvas внутри SurfaceView.
Я пробовал очень простой пример, подобный этому: 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, но я этого не делаю.
Я использую графический процессор Force GPUфлаг в параметрах разработчика вместе с внутренними манифестами, также я указываю minSDK / targetSDK> = 14.
View.isHardwareAccelerated вернет TRUE, а Canvas.isHardwareAccelerated вернет всегда FALSE.
Я видел, что Canvas.java имеет жестко закодированный возврат false для isHardwareAccelerated (), в то время как HardwareCanvas.java возвращает true.Я думаю, по некоторым причинам я не получаю путь HW, почему?
Может ли Canvas внутри SurfaceView быть ускоренным HW?
Спасибо