Reduce number of weakrefs per frame
Disable end-to-end input latency metric to reduce the
number of JNI WeakGlobalRef acquires per-frame.
Bug: 189738006
Test: Observe trace section no longer appears in calculator
Change-Id: I062dad8e7cec93cca5599e51d2b0b1a1b6e39a07
diff --git a/core/java/android/view/ViewRootImpl.java b/core/java/android/view/ViewRootImpl.java
index 23faac6..2bd2be1 100644
--- a/core/java/android/view/ViewRootImpl.java
+++ b/core/java/android/view/ViewRootImpl.java
@@ -253,6 +253,13 @@
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.
*/
@@ -1207,7 +1214,7 @@
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 81cee61..4dcd5af 100644
--- a/libs/hwui/renderthread/CanvasContext.cpp
+++ b/libs/hwui/renderthread/CanvasContext.cpp
@@ -644,6 +644,7 @@
if (mNativeSurface == nullptr) {
return;
}
+ ATRACE_CALL();
FrameInfo* forthBehind;
int64_t frameNumber;
{ // acquire lock