Android中的硬件和软件渲染之间的差异

时间:2013-11-29 07:27:50

标签: android android-view

有谁能告诉我什么是硬件渲染以及什么是Android中的软件渲染?

这些如何与普通视图和opengl视图相关?

1 个答案:

答案 0 :(得分:10)

硬件和软件渲染与2D绘图(视图)有关。

当您使用硬件渲染时:

  • 绘图操作(线条,圆圈,文本,位图, 在Canvas对象上执行的转换等 由设备的“图形卡”执行。
  • 这些操作是 在实际绘图发生之前录制。

相比之下,当您使用软件渲染时:

  • 绘图操作由CPU执行,速度要慢得多。
  • 立即执行操作。没有录音。

请注意,API级别11(3.0,Honeycomb)中添加了硬件加速支持。默认情况下,它在API级别14(ICS)及更高版本上启用。

编辑:也就是说,在ICS和更高版本的Android版本中,默认情况下,图形硬件会绘制每个视图(包括按钮等)。但是,您可以关闭硬件加速。在API级别14以下,您必须明确地将其打开。 虽然硬件加速对于简单视图来说可能听起来不必要,但是当你制作动画时它的效果会变得非常明显。

可以在应用程序,活动,窗口和视图级别控制硬件加速。因此,您可以为整个应用关闭它,或者为特定视图打开/关闭等等。

您还可以检查硬件加速是否已打开:

View.isHardwareAccelerated()
Canvas.isHardwareAccelerated()

3D图形使用OpenGL,当然需要适当的硬件支持。

您可以在此处找到有关此主题的更多信息: http://developer.android.com/guide/topics/graphics/hardware-accel.html