Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 85d99528 authored by Teng-Hui Zhu's avatar Teng-Hui Zhu
Browse files

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
parent 3b42c073
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -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
+7 −0
Original line number Diff line number Diff line
@@ -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)
+2 −2
Original line number Diff line number Diff line
@@ -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);