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
Merged-In: I057a50a74502918619204f9164f6a954f8e9c5de
(cherry picked from commit 7a0d224756)
This commit is contained in:
committed by
Hung-ying Tyan
parent
95846eed9d
commit
fc869035b6
@@ -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