如何在JB上启用带有GPU后端的skia

时间:2013-03-08 02:39:46

标签: android opengl-es skia hwui

我听说在Android 3.0中添加了Skia GPU acc,但似乎默认禁用Android 4.0,因为它转移到了HWUI(Canvas的openGL实现)。我怎么能再次启用它只是为了基准目的。

1 个答案:

答案 0 :(得分: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而不能禁用。

在你的src中:

getWindow().setFlags(
WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED,
WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED);

查看级别

注意:您无法从仅查看禁用的HWUI启用。 在你的src中:

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。