fix uninitialization issue in JankTracker
We should initialize mSwapDeadline in JankTracker, or it can be a very large randomized value and then makes jank tracker not collect concrete jank type of frames appropriately as expected. Bug: 161656795 Test: run cts -m CtsIncidentHostTestCases -t com.android.server.cts.GraphicsStatsValidationTest#testJankyDrawFrame Change-Id: I057a50a74502918619204f9164f6a954f8e9c5de
This commit is contained in:
committed by
John Reck
parent
22187fa9a0
commit
7a0d224756
@@ -139,6 +139,9 @@ void JankTracker::finishFrame(const FrameInfo& frame) {
|
||||
(*mGlobalData)->reportJank();
|
||||
}
|
||||
|
||||
if (mSwapDeadline < 0) {
|
||||
mSwapDeadline = frame[FrameInfoIndex::IntendedVsync] + mFrameInterval;
|
||||
}
|
||||
bool isTripleBuffered = (mSwapDeadline - frame[FrameInfoIndex::IntendedVsync]) > (mFrameInterval * 0.1);
|
||||
|
||||
mSwapDeadline = std::max(mSwapDeadline + mFrameInterval,
|
||||
|
||||
@@ -75,7 +75,7 @@ private:
|
||||
|
||||
std::array<int64_t, NUM_BUCKETS> mThresholds;
|
||||
int64_t mFrameInterval;
|
||||
nsecs_t mSwapDeadline;
|
||||
nsecs_t mSwapDeadline = -1;
|
||||
// The amount of time we will erase from the total duration to account
|
||||
// for SF vsync offsets with HWC2 blocking dequeueBuffers.
|
||||
// (Vsync + mDequeueBlockTolerance) is the point at which we expect
|
||||
|
||||
Reference in New Issue
Block a user