Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a3d795a3 authored by John Reck's avatar John Reck
Browse files

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
parent 255ad67b
Loading
Loading
Loading
Loading
+6 −4
Original line number Diff line number Diff line
@@ -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;
        }