2

Honeycomb のドキュメントはあいまいです:

ハードウェア アクセラレーション レンダラーを有効にすると、Canvas、Paint、Xfermode、ColorFilter、Shader、Camera のほとんどの操作が高速化されます。

ハードウェア アクセラレーションが有効な場合にサポートされる (およびサポートされない) API の正確なリストはありますか? 一部のメソッドは例外ですぐに失敗しますが、他の機能はアクセラレーションが有効になっていると単に異なる方法でレンダリングされます。

たとえば、Canvas.clipPath(...) は高速で失敗し、例外が発生します。clipPath APIはこれについて言及していませんが、実際のハードウェアでテストするときに簡単に判断できます。

他の機能は、例外をスローせずに不適切にレンダリングされ、困難で時間のかかる移植作業につながります。たとえば、PorterDuff.Mode.SRC_IN を使用して、RadialGradient と LinearGradient で構成される ComposeShader を使用する画面があります。アクセラレーションなしでは美しく見えますが、アクセラレーションを有効にすると完全に間違っています。

4

1 に答える 1

4

私は完全なリストを公開することに取り組んでいます。サポートされていない機能は次のとおりです。

  • clipPath
  • clipRegion
  • XORまたはDifferenceopを使用したclipRect
  • 絵を描く
  • drawPoints
  • drawPosText
  • drawTextOnPath
  • drawTextPos
  • drawVertices
  • setMaskFilter
  • setRasterizer

編集:この記事を読んで、Android3.0のハードウェアアクセラレーションについて知っておくべきことをすべて知ってください。

ただし、説明している内容は問題なく機能するはずです。すべてのグラデーション、およびすべてのブレンドモードがサポートされています。発生した問題については、再現可能なテストケースのバグを報告してください。修正します。

于 2011-03-07T05:45:54.443 に答える