summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Teng-Hui Zhu <ztenghui@google.com> 2016-04-25 14:23:40 -0700
committer Teng-Hui Zhu <ztenghui@google.com> 2016-04-25 15:10:48 -0700
commit85d99528b23b5575d97f614fe25f839d19740abc (patch)
tree1464c58b93febe2189f42ac1372fdbe181c17827
parent3b42c073859dca514e0f1002ef2efb7d98f0e508 (diff)
Turn off some path drawing logs by default
Originally the logs are added to track potential performance bug. Like unexpectedly deep recursion loop. However so far, we haven't captured anything by these logs. And they are causing some misunderstanding in some bugs. So I think it is better to disable it by default. In the future, we will consider switching to direct Skia arcTo support and drop this part. Change-Id: Iff6df7a92e40b4775a644a1497e113de0eedbc8a
-rw-r--r--libs/hwui/Debug.h3
-rw-r--r--libs/hwui/VectorDrawable.h7
-rw-r--r--libs/hwui/utils/VectorDrawableUtils.cpp4
3 files changed, 12 insertions, 2 deletions
diff --git a/libs/hwui/Debug.h b/libs/hwui/Debug.h
index 748edef730b7..e29699d0faf4 100644
--- a/libs/hwui/Debug.h
+++ b/libs/hwui/Debug.h
@@ -98,6 +98,9 @@
// Turn on to enable debugging shadow
#define DEBUG_SHADOW 0
+// Turn on to enable debugging vector drawable
+#define DEBUG_VECTOR_DRAWABLE 0
+
#if DEBUG_INIT
#define INIT_LOGD(...) ALOGD(__VA_ARGS__)
#else
diff --git a/libs/hwui/VectorDrawable.h b/libs/hwui/VectorDrawable.h
index 1c6f48e7276b..98738c852af7 100644
--- a/libs/hwui/VectorDrawable.h
+++ b/libs/hwui/VectorDrawable.h
@@ -39,6 +39,13 @@
namespace android {
namespace uirenderer {
+// Debug
+#if DEBUG_VECTOR_DRAWABLE
+ #define VECTOR_DRAWABLE_LOGD(...) ALOGD(__VA_ARGS__)
+#else
+ #define VECTOR_DRAWABLE_LOGD(...)
+#endif
+
namespace VectorDrawable {
#define VD_SET_PRIMITIVE_FIELD_WITH_FLAG(field, value, flag) (VD_SET_PRIMITIVE_FIELD_AND_NOTIFY(field, (value)) ? ((flag) = true, true) : false)
#define VD_SET_PROP(field, value) ((value) != (field) ? ((field) = (value), true) : false)
diff --git a/libs/hwui/utils/VectorDrawableUtils.cpp b/libs/hwui/utils/VectorDrawableUtils.cpp
index ca75c5945b7f..6f0c96db4b1e 100644
--- a/libs/hwui/utils/VectorDrawableUtils.cpp
+++ b/libs/hwui/utils/VectorDrawableUtils.cpp
@@ -198,12 +198,12 @@ static void drawArc(SkPath* p,
/* Solve for intersecting unit circles */
double dsq = dx * dx + dy * dy;
if (dsq == 0.0) {
- ALOGW("Points are coincident");
+ VECTOR_DRAWABLE_LOGD("Points are coincident");
return; /* Points are coincident */
}
double disc = 1.0 / dsq - 1.0 / 4.0;
if (disc < 0.0) {
- ALOGW("Points are too far apart %f", dsq);
+ VECTOR_DRAWABLE_LOGD("Points are too far apart %f", dsq);
float adjust = (float) (sqrt(dsq) / 1.99999);
drawArc(p, x0, y0, x1, y1, a * adjust,
b * adjust, theta, isMoreThanHalf, isPositiveArc);