Merge "Correctly start tracing only where we are counting frames" into sc-dev

This commit is contained in:
Jorim Jaggi
2021-05-10 15:37:28 +00:00
committed by Android (Google) Code Review

View File

@@ -167,6 +167,7 @@ public class FrameTracker extends SurfaceControl.OnJankDataListener
if (mBeginVsyncId != INVALID_ID) {
mSurfaceControlWrapper.addJankStatsListener(
FrameTracker.this, mSurfaceControl);
postTraceStartMarker();
}
}
}
@@ -208,15 +209,9 @@ public class FrameTracker extends SurfaceControl.OnJankDataListener
public synchronized void begin() {
mBeginVsyncId = mChoreographer.getVsyncId() + 1;
mSession.setTimeStamp(System.nanoTime());
mChoreographer.mChoreographer.postCallback(Choreographer.CALLBACK_INPUT, () -> {
synchronized (FrameTracker.this) {
if (mCancelled || mEndVsyncId != INVALID_ID) {
return;
}
mTracingStarted = true;
Trace.beginAsyncSection(mSession.getName(), (int) mBeginVsyncId);
}
}, null);
if (mSurfaceControl != null) {
postTraceStartMarker();
}
mRendererWrapper.addObserver(mObserver);
if (DEBUG) {
Log.d(TAG, "begin: " + mSession.getName() + ", begin=" + mBeginVsyncId);
@@ -229,6 +224,18 @@ public class FrameTracker extends SurfaceControl.OnJankDataListener
}
}
private void postTraceStartMarker() {
mChoreographer.mChoreographer.postCallback(Choreographer.CALLBACK_INPUT, () -> {
synchronized (FrameTracker.this) {
if (mCancelled || mEndVsyncId != INVALID_ID) {
return;
}
mTracingStarted = true;
Trace.beginAsyncSection(mSession.getName(), (int) mBeginVsyncId);
}
}, null);
}
/**
* End the trace session of the CUJ.
*/