SF: Optimize layer history in scheduler
Register layers with LayerHistory by storing a weak pointer rather than allocating a LayerHandle. Query layer visibility when needed instead of synchronizing it to LayerInfo whenever Layer::isVisible is called. Store active/inactive layers in contiguous memory instead of two hash maps for cache efficiency, and minimal allocation and run time of operations like clearing history. Remove redundant ref-counting, locking, and frequency- period conversion in LayerInfo. Avoid sleeping in unit tests. This is also prework for per-display layer history. Bug: 130554049 Bug: 134772048 Test: go/wm-smoke with debug.sf.layer_history_trace Test: C2/F2 test cases from spreadsheet Test: LayerHistoryTest with new test cases Change-Id: Ibfcfe46cd76ebd93b916d4a0c737a19e837d4ff1
Loading
Please register or sign in to comment