Drop less aggressively
Bug: 30342762
Frame dropping was too frequent and would trigger
during normal triple buffering steady state. Bump
the threshold to drop from 3ms stall to 6ms stall.
Change-Id: I5c1faeaabf0d02323a28e697a4af4105fbcf1c53
diff --git a/libs/hwui/renderthread/CanvasContext.cpp b/libs/hwui/renderthread/CanvasContext.cpp
index 4b9d7d5..82684c5 100644
--- a/libs/hwui/renderthread/CanvasContext.cpp
+++ b/libs/hwui/renderthread/CanvasContext.cpp
@@ -199,6 +199,8 @@
}
bool CanvasContext::isSwapChainStuffed() {
+ static const auto SLOW_THRESHOLD = 6_ms;
+
if (mSwapHistory.size() != mSwapHistory.capacity()) {
// We want at least 3 frames of history before attempting to
// guess if the queue is stuffed
@@ -209,8 +211,8 @@
// Was there a happy queue & dequeue time? If so, don't
// consider it stuffed
- if (swapA.dequeueDuration < 3_ms
- && swapA.queueDuration < 3_ms) {
+ if (swapA.dequeueDuration < SLOW_THRESHOLD
+ && swapA.queueDuration < SLOW_THRESHOLD) {
return false;
}
@@ -225,8 +227,8 @@
// Was there a happy queue & dequeue time? If so, don't
// consider it stuffed
- if (swapB.dequeueDuration < 3_ms
- && swapB.queueDuration < 3_ms) {
+ if (swapB.dequeueDuration < SLOW_THRESHOLD
+ && swapB.queueDuration < SLOW_THRESHOLD) {
return false;
}