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

还有这些与普通 View 和 opengl View 有何关系?

最佳答案

HW 和 SW 渲染与 2D 绘图( View )相关。

当您使用硬件渲染时:

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

  • 相比之下,当您使用软件渲染时:
  • 绘图操作由 CPU 执行,速度较慢。
  • 操作立即执行。没有记录发生。

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

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

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

    您也可以检查硬件加速是否打开:
    View.isHardwareAccelerated()
    Canvas.isHardwareAccelerated()
    

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

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

    关于android - Android中硬件和软件渲染的区别,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20280476/

    10-12 00:19
    查看更多