我正在开发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
我甚至修改了它们,使得绘制循环内没有任何canvas调用,以为某些绘制调用会导致不支持的硬件加速操作。 我查看了“不支持的绘制操作”列表 developer.android.com/guide/topics/graphics/hardware-accel.html 但我没有做任何那样的东西。
我正在使用Force GPU渲染标志和 在清单中,我还指定了minSDK/targetSDK >= 14。
View.isHardwareAccelerated将返回TRUE,而Canvas.isHardwareAccelerated将始终返回FALSE。
我看到Canvas.java对isHardwareAccelerated()进行了硬编码,而HardwareCanvas.java则返回true。我想我之所以无法获得HW路径,可能是由于某些原因吗?
SurfaceView中的Canvas可以进行硬件加速吗?
谢谢
public Canvas lockHardwareCanvas()
,但没有看到在哪里使用它,是否可能使用此方法来获取SurfaceView硬件加速? - Juude