Make JankTracker non-fatal
These asserts fire often enough to be a problem, but
not often enough to be easily diagnosable or prioritized.
Just make these ALOGV's instead, it's not that important
Fixes: 200492526
Test: N/A
Change-Id: I48eeb8e7aeada86bee449484a7c247760f5f613f
diff --git a/libs/hwui/JankTracker.cpp b/libs/hwui/JankTracker.cpp
index 3e5cbb5..1e5be6c 100644
--- a/libs/hwui/JankTracker.cpp
+++ b/libs/hwui/JankTracker.cpp
@@ -111,19 +111,22 @@
// the actual time spent blocked.
nsecs_t forgiveAmount =
std::min(expectedDequeueDuration, frame[FrameInfoIndex::DequeueBufferDuration]);
- LOG_ALWAYS_FATAL_IF(forgiveAmount >= totalDuration,
- "Impossible dequeue duration! dequeue duration reported %" PRId64
- ", total duration %" PRId64,
- forgiveAmount, totalDuration);
+ if (forgiveAmount >= totalDuration) {
+ ALOGV("Impossible dequeue duration! dequeue duration reported %" PRId64
+ ", total duration %" PRId64,
+ forgiveAmount, totalDuration);
+ return;
+ }
totalDuration -= forgiveAmount;
}
}
- LOG_ALWAYS_FATAL_IF(totalDuration <= 0, "Impossible totalDuration %" PRId64 " start=%" PRIi64
- " gpuComplete=%" PRIi64, totalDuration,
- frame[FrameInfoIndex::IntendedVsync],
- frame[FrameInfoIndex::GpuCompleted]);
-
+ if (totalDuration <= 0) {
+ ALOGV("Impossible totalDuration %" PRId64 " start=%" PRIi64 " gpuComplete=%" PRIi64,
+ totalDuration, frame[FrameInfoIndex::IntendedVsync],
+ frame[FrameInfoIndex::GpuCompleted]);
+ return;
+ }
// Only things like Surface.lockHardwareCanvas() are exempt from tracking
if (CC_UNLIKELY(frame[FrameInfoIndex::Flags] & EXEMPT_FRAMES_FLAGS)) {
@@ -174,7 +177,10 @@
int64_t totalDuration = frame.duration(FrameInfoIndex::IntendedVsync,
FrameInfoIndex::FrameCompleted);
- LOG_ALWAYS_FATAL_IF(totalDuration <= 0, "Impossible totalDuration %" PRId64, totalDuration);
+ if (totalDuration <= 0) {
+ ALOGV("Impossible totalDuration %" PRId64, totalDuration);
+ return;
+ }
mData->reportFrame(totalDuration);
(*mGlobalData)->reportFrame(totalDuration);