summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Romain Guy <romainguy@google.com> 2011-10-10 15:22:25 -0700
committer Romain Guy <romainguy@google.com> 2011-10-10 15:23:32 -0700
commit098ffcd521cd272ee3a63174759cceeda618d2ef (patch)
tree1ee1e7cc07f825cd06fb2564168ecceb68bcfa62
parent589b0bb6ab81657ba201cbc441a49f85305170bc (diff)
Don't call saveLayer() when it's not required
Bug #5435653 saveLayer() can be extremely expensive on some GPU architectures. Avoiding this call greatly improve the rendering performance of drawables with strok + fill. Change-Id: Ib414174ba05d5bad56d942b8e67ab784e7d60b9e
-rw-r--r--graphics/java/android/graphics/drawable/GradientDrawable.java2
1 files changed, 1 insertions, 1 deletions
diff --git a/graphics/java/android/graphics/drawable/GradientDrawable.java b/graphics/java/android/graphics/drawable/GradientDrawable.java
index de0fabc7bd8f..50964d5e5546 100644
--- a/graphics/java/android/graphics/drawable/GradientDrawable.java
+++ b/graphics/java/android/graphics/drawable/GradientDrawable.java
@@ -285,7 +285,7 @@ public class GradientDrawable extends Drawable {
of the fill (if any) without worrying about blending artifacts.
*/
final boolean useLayer = haveStroke && haveFill && st.mShape != LINE &&
- currStrokeAlpha < 255;
+ currStrokeAlpha < 255 && (mAlpha < 255 || mColorFilter != null);
/* Drawing with a layer is slower than direct drawing, but it
allows us to apply paint effects like alpha and colorfilter to