我正在开发ICS,并试图理解为什么
Canvas.isHardwareAccelerated()在使用a时总是返回FALSE
一个SurfaceView中的画布.
Canvas.isHardwareAccelerated()在使用a时总是返回FALSE
一个SurfaceView中的画布.
我已经尝试了一个非常基本的例子:
http://android-coding.blogspot.com/2011/05/drawing-on-surfaceview.html
或者这个:http://jmsliu.com/199/android-canvas-example.html
我甚至修改它们在draw循环内没有任何画布调用
认为我可能有一些不受支持的硬件加速操作
为某些绘图调用.
我在“不支持的绘图操作”下检查了此列表
developer.android.com/guide/topics/graphics/hardware-accel.html
但我没有做任何事情.
我在开发人员选项中使用Force GPU渲染标志
和…一起
在清单内,我也指定了minSDK / targetSDK> = 14.
View.isHardwareAccelerated将返回TRUE,而
Canvas.isHardwareAccelerated将永远返回FALSE.
我看到Canvas.java硬编码为isHardwareAccelerated()返回false,而HardwareCanvas.java返回true.我想有一些原因我没有得到硬件路径,为什么?
一个SurfaceView中的Canvas可以加速HW吗?
谢谢
解决方法
SurfaceView.lockCanvas()返回的Canvas现在不能硬件加速.