Merge "Correctly start tracing only where we are counting frames" into sc-dev
This commit is contained in:
@@ -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.
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user