From 7a0d224756195ce81875db0b481a77b87f860dd3 Mon Sep 17 00:00:00 2001 From: "Zhiyin Luo (罗植尹)" Date: Sat, 11 Jan 2020 17:14:05 +0800 Subject: 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 --- libs/hwui/JankTracker.cpp | 3 +++ 1 file changed, 3 insertions(+) (limited to 'libs/hwui/JankTracker.cpp') diff --git a/libs/hwui/JankTracker.cpp b/libs/hwui/JankTracker.cpp index d25fc4b0b03e..b2c39c90071a 100644 --- a/libs/hwui/JankTracker.cpp +++ b/libs/hwui/JankTracker.cpp @@ -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, -- cgit v1.2.3-59-g8ed1b