summaryrefslogtreecommitdiff
path: root/graphics/java
diff options
context:
space:
mode:
authorLeon Scroggins III <scroggo@google.com>2021-08-09 14:22:15 -0400
committerLeon Scroggins III <scroggo@google.com>2021-08-09 15:11:20 -0400
commiteb5a3553dcae07481b15b93dd7223e29611a36b4 (patch)
treee220c850474aaf97b1e4ddd489f5c84cab0288ee /graphics/java
parent50ff5ac8b8a53eda807bcef56bc86b8060fb99df (diff)
Do not turn on dithering by default
Bug: 195281495 Test: Ief7025c21f365ae90fa63120f1cc82e0695901af This is a partial revert of 47c51fe80e3dd9d6b518c11c2e1714c271835af5/ I5d5d03e430af380e23016c6deba5eca46067a22b. The intent was to bring today's rendering implementation in line with the old HWUI implementation, which always dithered gradients by default. However, when dithering is enabled, the Skia implementation dithers more than just gradients (e.g. Bitmaps). Combined with poor performance of the dithering algorithm on certain GPUs, this led to a performance regression on key apps. Change-Id: Id54121091e2cc47131dc9b5ae67bd638fbc005fc
Diffstat (limited to 'graphics/java')
-rw-r--r--graphics/java/android/graphics/Paint.java16
1 files changed, 5 insertions, 11 deletions
diff --git a/graphics/java/android/graphics/Paint.java b/graphics/java/android/graphics/Paint.java
index 51bf6d539ce8..42e470b7f660 100644
--- a/graphics/java/android/graphics/Paint.java
+++ b/graphics/java/android/graphics/Paint.java
@@ -255,12 +255,6 @@ public class Paint {
| FILTER_BITMAP_FLAG;
/**
- * These flags are always set on a reset paint or a new paint instantiated using
- * {@link #Paint()}.
- */
- private static final int DEFAULT_PAINT_FLAGS = ANTI_ALIAS_FLAG | DITHER_FLAG;
-
- /**
* Font hinter option that disables font hinting.
*
* @see #setHinting(int)
@@ -577,12 +571,12 @@ public class Paint {
* On devices running {@link Build.VERSION_CODES#Q} and above,
* {@code FILTER_BITMAP_FLAG} is set by this constructor, and it can be
* cleared with {@link #setFlags} or {@link #setFilterBitmap}.
- * On devices running {@link Build.VERSION_CODES#S} and above, {@code ANTI_ALIAS_FLAG} and
- * {@code DITHER_FLAG} are set by this constructor, and they can be cleared with
- * {@link #setFlags} or {@link #setAntiAlias} and {@link #setDither}, respectively.</p>
+ * On devices running {@link Build.VERSION_CODES#S} and above, {@code ANTI_ALIAS_FLAG}
+ * is set by this constructor, and it can be cleared with {@link #setFlags} or
+ * {@link #setAntiAlias}.</p>
*/
public Paint() {
- this(DEFAULT_PAINT_FLAGS);
+ this(ANTI_ALIAS_FLAG);
}
/**
@@ -627,7 +621,7 @@ public class Paint {
/** Restores the paint to its default settings. */
public void reset() {
nReset(mNativePaint);
- setFlags(HIDDEN_DEFAULT_PAINT_FLAGS | DEFAULT_PAINT_FLAGS);
+ setFlags(HIDDEN_DEFAULT_PAINT_FLAGS | ANTI_ALIAS_FLAG);
// TODO: Turning off hinting has undesirable side effects, we need to
// revisit hinting once we add support for subpixel positioning