diff --git a/core/java/android/view/ViewRootImpl.java b/core/java/android/view/ViewRootImpl.java index 155bc0a429be5..c2b5bc873edee 100644 --- a/core/java/android/view/ViewRootImpl.java +++ b/core/java/android/view/ViewRootImpl.java @@ -252,6 +252,13 @@ public final class ViewRootImpl implements ViewParent, */ private static final boolean MT_RENDERER_AVAILABLE = true; + /** + * Whether or not to report end-to-end input latency. Disabled temporarily as a + * risk mitigation against potential jank caused by acquiring a weak reference + * per frame + */ + private static final boolean ENABLE_INPUT_LATENCY_TRACKING = false; + /** * Set this system property to true to force the view hierarchy to render * at 60 Hz. This can be used to measure the potential framerate. @@ -1222,7 +1229,7 @@ public final class ViewRootImpl implements ViewParent, mInputEventReceiver = new WindowInputEventReceiver(inputChannel, Looper.myLooper()); - if (mAttachInfo.mThreadedRenderer != null) { + if (ENABLE_INPUT_LATENCY_TRACKING && mAttachInfo.mThreadedRenderer != null) { InputMetricsListener listener = new InputMetricsListener(); mHardwareRendererObserver = new HardwareRendererObserver( listener, listener.data, mHandler, true /*waitForPresentTime*/); diff --git a/libs/hwui/renderthread/CanvasContext.cpp b/libs/hwui/renderthread/CanvasContext.cpp index 81cee6103d220..4dcd5af39ca58 100644 --- a/libs/hwui/renderthread/CanvasContext.cpp +++ b/libs/hwui/renderthread/CanvasContext.cpp @@ -644,6 +644,7 @@ void CanvasContext::reportMetricsWithPresentTime() { if (mNativeSurface == nullptr) { return; } + ATRACE_CALL(); FrameInfo* forthBehind; int64_t frameNumber; { // acquire lock