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

Skip to content
Commit c02140b8 authored by KaiChieh Chuang's avatar KaiChieh Chuang Committed by Arne Coucheron
Browse files

SF: handle long waiting Layer sync point

When Layer transaction deferred
it wait for barrier layer's specific frame.

When the target frame is delayed for a long time, e.g. 5 min
the deferred transaction layer may queue up in mPendingStates,
may up to 20000 in real case.

When the target frame come, it will loop through mPendingStates
and call popPendingState with mPendingStates.removeAt(0);
which is an inefficient operator for Vector, which cause SWT.

Change to use std::deque for mPendingStates & mPendingStatesSnapshot
Add sync point timeout debug log.

Bug: 170690571
Test: boot up
Test: LayerUpdateTest
Test: setting pages in/out

Change-Id: I17f3751836574c3691c7e5a1e6d2ea6c3fcd3903
Merged-In: I17f3751836574c3691c7e5a1e6d2ea6c3fcd3903
parent f1201c64
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment