diff --git a/docs/html/guide/topics/graphics/hardware-accel.jd b/docs/html/guide/topics/graphics/hardware-accel.jd index 04fb56482a16b..01dd79aebddc3 100644 --- a/docs/html/guide/topics/graphics/hardware-accel.jd +++ b/docs/html/guide/topics/graphics/hardware-accel.jd @@ -270,110 +270,250 @@ changed. android.graphics.Canvas} drawing operations as well as many less-used operations. All of the drawing operations that are used to render applications that ship with Android, default widgets and layouts, and common advanced visual effects such as reflections and tiled textures are - supported. The following list describes known operations that are not supported - with hardware acceleration:
+ supported. -The following table describes the support level of various operations across API levels:
-In addition, some operations behave differently with hardware acceleration enabled:
- -XOR,
- Difference and ReverseDifference clip modes are ignored. 3D
- transforms do not apply to the clip rectangle| + | + | + | + | + |
| + | API level | +|||
| < 16 | +16 | +17 | +18 | +|
| Canvas | +||||
| clipPath() | +✗ | +✗ | +✗ | +✓ | +
| clipRegion() | +✗ | +✗ | +✗ | +✓ | +
| clipRect(Region.Op.XOR) | +✗ | +✗ | +✗ | +✓ | +
| clipRect(Region.Op.Difference) | +✗ | +✗ | +✗ | +✓ | +
| clipRect(Region.Op.ReverseDifference) | +✗ | +✗ | +✗ | +✓ | +
| drawBitmapMesh() (colors array) | +✗ | +✗ | +✗ | +✓ | +
| drawPicture() | +✗ | +✗ | +✗ | +✗ | +
| drawPosText() | +✗ | +✓ | +✓ | +✓ | +
| drawTextOnPath() | +✗ | +✓ | +✓ | +✓ | +
| drawVertices() | +✗ | +✗ | +✗ | +✗ | +
| setDrawFilter() | +✗ | +✓ | +✓ | +✓ | +
| Paint | +||||
| setAntiAlias() (for text) | +✗ | +✗ | +✗ | +✓ | +
| setAntiAlias() (for lines) | +✗ | +✓ | +✓ | +✓ | +
| setFilterBitmap() | +✗ | +✗ | +✓ | +✓ | +
| setLinearText() | +✗ | +✗ | +✗ | +✗ | +
| setMaskFilter() | +✗ | +✗ | +✗ | +✗ | +
| setPathEffect() (for lines) | +✗ | +✗ | +✗ | +✗ | +
| setRasterizer() | +✗ | +✗ | +✗ | +✗ | +
| setShadowLayer() (other than text) | +✗ | +✗ | +✗ | +✗ | +
| setStrokeCap() (for lines) | +✗ | +✗ | +✗ | +✓ | +
| setStrokeCap() (for points) | +✗ | +✗ | +✗ | +✗ | +
| setSubpixelText() | +✗ | +✗ | +✗ | +✗ | +
| Xfermode | +||||
| AvoidXfermode | +✗ | +✗ | +✗ | +✗ | +
| PixelXorXfermode | +✗ | +✗ | +✗ | +✗ | +
| PorterDuff.Mode.DARKEN (framebuffer) | +✗ | +✗ | +✗ | +✗ | +
| PorterDuff.Mode.LIGHTEN (framebuffer) | +✗ | +✗ | +✗ | +✗ | +
| PorterDuff.Mode.OVERLAY (framebuffer) | +✗ | +✗ | +✗ | +✗ | +
| Shader | +||||
| ComposeShader inside ComposeShader | +✗ | +✗ | +✗ | +✗ | +
| Same type shaders inside ComposeShader | +✗ | +✗ | +✗ | +✗ | +
If your application is affected by any of these missing features or limitations, you can turn off hardware acceleration for just the affected portion of your application by calling