Android 在蜂窝上启用硬件加速时支持哪些API?

Android 在蜂窝上启用硬件加速时支持哪些API?,android,android-3.0-honeycomb,hardware-acceleration,Android,Android 3.0 Honeycomb,Hardware Acceleration,蜂巢文件模糊不清: 当硬件加速渲染器 已启用,画布中的大多数操作, 绘制、Xfermode、颜色过滤器、着色器、, 相机加速 在启用硬件加速时,是否有确切的API支持列表?有些方法会在异常情况下快速失败,而其他功能在启用加速时只是以不同方式渲染 例如,Canvas.clipPath(…)由于异常而快速失败。虽然没有提到这一点,但在实际硬件上进行测试时很容易确定 其他特性在不引发异常的情况下呈现不正确,导致移植工作困难且耗时。例如,我有一个屏幕,它使用由RadialGradient和LinearG

蜂巢文件模糊不清:

当硬件加速渲染器 已启用,画布中的大多数操作, 绘制、Xfermode、颜色过滤器、着色器、, 相机加速

在启用硬件加速时,是否有确切的API支持列表?有些方法会在异常情况下快速失败,而其他功能在启用加速时只是以不同方式渲染

例如,Canvas.clipPath(…)由于异常而快速失败。虽然没有提到这一点,但在实际硬件上进行测试时很容易确定


其他特性在不引发异常的情况下呈现不正确,导致移植工作困难且耗时。例如,我有一个屏幕,它使用由RadialGradient和LinearGradient组成的ComposeShader,在中使用PorterDuff.Mode.SRC_。如果没有加速,它看起来很漂亮,但如果启用了加速,它就完全错了。

我正在准备发布一份完整的列表。不支持的功能包括:

  • 克利帕斯
  • clipRegion
  • 带XOR或差分运算的clipRect
  • 图画
  • 支点
  • 绘图后文
  • drawTextOnPath
  • drawTextPos
  • 绘图顶点
  • 设置maskfilter
  • 光栅化器
编辑:阅读了解Android 3.0中硬件加速的所有知识


然而,你所描述的应该很好。支持所有渐变以及所有混合模式。请使用可复制的测试用例报告您遇到的任何问题的bug,我会将其修复。

我检查了实现,硬件渲染器当前仅支持ComposeShader中不同类型的着色器。这意味着您可以使用渐变+位图,但不能使用两个位图或两个渐变。请注意,对于硬件不支持的视图,您可以使用setLayerType(LAYER_TYPE_SOFTWARE,null)强制它们在软件中渲染。请在滚动视图中添加webview并在webview中播放一些视频,然后上下滚动视图,您将面临一个问题(抱歉,我无法解释该问题)。我的设备是三星galaxy tab 10.1“@Romanguy ICS和JB的此列表是否已更改?在api文档或其他地方找不到有关此列表的任何信息。