2011-03-07 44 views
2

蜂窩文檔是模糊的:在Honeycomb上啓用硬件加速時支持哪些API?

當啓用硬件加速渲染器 ,在畫布中, 油漆,Xfermode,ColorFilter,着色, 和照相機大部分操作的速度。

當啓用硬件加速時,是否支持(且不支持)確切API的確切列表?某些方法在異常情況下快速失敗,而其他功能在啓用加速時僅呈現不同的效果。

例如,Canvas.clipPath(...)快速失敗並出現異常。雖然clipPath API沒有提到這一點,但很容易確定何時在真實硬件上進行測試。

其他功能渲染不當,沒有拋出異常,導致困難和費時的移植工作。例如,我有一個使用由RadialGradient和LinearGradient組成的ComposeShader的屏幕,使用PorterDuff.Mode.SRC_IN。它看起來很漂亮,沒有加速度,但是在啓用加速時完全錯誤。

回答

4

我正在努力獲取已發佈的完整列表。不支持的功能有:

  • clipPath
  • clipRegion
  • clipRect與異或運算差
  • drawPicture
  • drawPoints
  • drawPosText
  • drawTextOnPath
  • drawTextPos
  • 個drawVertices
  • setMaskFilter
  • setRasterizer

編輯:閱讀this article知道一切有了解一下Android 3.0的硬件加速。

但是,你所描述的應該工作得很好。所有漸變都支持,以及所有混合模式。請爲您遇到的任何問題報告具有可重複性測試用例的錯誤,並將其修復。

+2

我檢查了實現,硬件渲染器當前僅支持ComposeShader中不同類型的着色器。這意味着您可以使用漸變+位圖,但不能使用兩個位圖或兩個漸變。請注意,對於硬件不支持的視圖,您可以使用setLayerType(LAYER_TYPE_SOFTWARE,null)強制它們使用軟件進行渲染。 – 2011-03-07 19:33:23

+0

您可以在滾動視圖中添加一個webview並在webview中播放一些視頻,然後上下滾動視圖,您將面臨一個問題(對不起,我無法解釋這個問題)。我的設備是三星galaxy選項卡10.1「 – Farhan 2011-12-26 10:24:13

+0

@RomainGuy有此列表更改爲ICS和JB?在api文檔或其他地方找不到任何有關它的信息。 – 2013-04-17 04:34:42