use*_*096 12 android canvas surfaceview hardware-acceleration
我正在开发ICS并尝试理解为什么在SurfaceView中使用Canvas时Canvas.isHardwareAccelerated()将始终返回FALSE.
我尝试过这样一个非常基本的例子:http: //android-coding.blogspot.com/2011/05/drawing-on-surfaceview.html 或者这个:http://jmsliu.com/199/android-帆布example.html的
我甚至将它们修改为在绘制循环中没有任何画布调用,以为我可能在某些绘图调用中遇到了一些不受支持的HW accel操作.我在"不支持的绘图操作"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.我想由于某些原因我没有获得硬件路径,为什么?
SurfaceView中的Canvas可以加速硬件吗?
谢谢
Rom*_*Guy 14
返回的Canvas SurfaceView.lockCanvas()
目前无法进行硬件加速.
它似乎有一个新的隐藏API方法 unlockHardwareCanvas
在android.view.Surface
这是示例:
http://androidxref.com/5.1.0_r1/xref/frameworks/base/tests/HwAccelerationTest/src/com/android/test/hwui/HardwareCanvasSurfaceViewActivity.java
您可以在生产环境中使用 relfecation。
您是否在 Android 清单中声明您的应用程序想要使用硬件加速?
这就像
<application android:hardwareAccelerated="true" ...>
根据您想要执行的操作,仅针对活动或窗口激活加速也可能很有用,请参阅http://developer.android.com/guide/topics/graphics/hardware-accel.html了解详细信息。
鲁迪
归档时间: |
|
查看次数: |
7960 次 |
最近记录: |