我听说在 Android 3.0 中添加了 Skia GPU acc,但似乎自 Android 4.0 以来它被默认禁用,可能是因为转向 HWUI(Canvas 的 openGL 实现)。我怎么能再次启用它只是为了基准测试。
问问题
3016 次
1 回答
2
我不知道 Skia 的任何其他硬件加速方法。尽管对于 HWUI,开发人员文档在这里对此进行了概述:http: //developer.android.com/guide/topics/graphics/hardware-accel.html
如果您已经知道 HWUI 的实现,请致歉。
您可以使用四个级别的控制:
应用程序级别、活动级别、窗口级别和视图级别。
应用层
在您的清单中,将以下属性添加到您的应用程序:
<application android:hardwareAccelerated="true" ...>`
活动水平
在您的清单中,将以下属性添加到您的活动中:
<application...>
<activity android:hardwareAccelerated="true" />
</application>
您还可以混合和匹配应用程序和活动级别以仅在某些活动上启用 HWUI,如下所示:
<application android:hardwareAccelerated="true">
<activity ... />
<activity android:hardwareAccelerated="false" />
</application>
窗位
注意:您只能在窗口级别启用 HWUI,不能禁用。
在您的源代码中:
getWindow().setFlags(
WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED,
WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED);
查看级别
注意:您不能从仅禁用视图中启用 HWUI。在您的源代码中:
myView.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
您对 HWUI 的看法也是正确的:
Android Honeycomb (3.0) 将 HWUI(硬件加速)添加为所有应用程序的选项,无需任何额外的绘制代码。系统将自动为所有兼容的渲染方法运行预定义的 OpenGL ES 函数,而不是 SKIA。
从 Android Ice Cream Sandwich (4.0) 开始,HWUI 是默认的。因此,所有 4.0+ 设备都必须具有支持 OpenGL ES 2.0 的 GPU。
于 2013-03-09T01:03:40.900 回答