summaryrefslogtreecommitdiff
path: root/libs/gui/BLASTBufferQueue.cpp
diff options
context:
space:
mode:
author KaiChieh Chuang <kaichieh.chuang@mediatek.com> 2020-10-13 10:38:48 +0800
committer Dan Stoza <stoza@google.com> 2020-12-08 23:30:04 +0000
commitc83889f3b7d0b5dbdbf448ca9a7adfba55ff2f2a (patch)
treeb93a03794d608defd00364bc3bd018647289cfb2 /libs/gui/BLASTBufferQueue.cpp
parent8662ab7f4b721d53744c1d98295ac6be5dd80bc7 (diff)
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
Diffstat (limited to 'libs/gui/BLASTBufferQueue.cpp')
0 files changed, 0 insertions, 0 deletions