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

And*_*Dev 4 android android-view

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

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

Aro*_*ncz 10

HW和SW渲染与2D绘图(视图)有关.

当您使用硬件渲染时:

  • 在Canvas对象上执行的绘制操作(线条,圆圈,文本,位图,变换等)将由设备的"图形卡"执行.
  • 在实际绘图发生之前记录这些操作.

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

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

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

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

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

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

View.isHardwareAccelerated()
Canvas.isHardwareAccelerated()
Run Code Online (Sandbox Code Playgroud)

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

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