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
This commit is contained in:
John Reck
2016-07-27 19:28:05 -07:00
parent 255ad67b2e
commit a3d795a34a

View File

@@ -199,6 +199,8 @@ static bool wasSkipped(FrameInfo* info) {
}
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 @@ bool CanvasContext::isSwapChainStuffed() {
// 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 @@ bool CanvasContext::isSwapChainStuffed() {
// 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;
}