diff options
| author | 2023-09-15 21:48:24 +0000 | |
|---|---|---|
| committer | 2023-11-03 21:24:10 +0000 | |
| commit | f7bb69b6c7b7128a9a67841396731f6fca6b1a5c (patch) | |
| tree | 31488498192040c576e286895f874ccaae05f9f3 /libs/androidfw/FileStream.cpp | |
| parent | 80d939a49c03e1d1f57d08675f4bd0bb3228967a (diff) | |
Basic framework of the UI toolkit variable refresh rate project
The original CL was reverted due to a performance issue - ag/24826019
In this CL, I use a read-only flag to avoid cauding the performance
issue. See Patchset 2 and 3 for detiails.
Atest UiBenchMicrobenchmark / uibench-dialoglist / uibench-invalidate are passed locally
This CL includes two major changes for variable refresh rate (VRR) project:
1. Migrated the TouchBoost logic from SurfaceFlinger to
ViewRootImpl. When users touch (MotionEvent.ACTION_DOWN) the screen or press and move (MotionEvent.ACTION_MOVE), we increase the frame rate / refresh rate to the maximum value to offer users a smooth user experience. The frame rate will then be lowered after a certain period.
2. Built the frame rate voting mechanism. This enables Views to vote for
their preferred frame rate. Those votes will be aggregated in
ViewRootImpl to determine a final one. The preferred frame rate of a
View is determined based on its size.
The implementation is gated by a Trunk Stable flag.
Bug: 278731105
Bug: 278731091
Bug: 293505054
Bug: 296459487
Bug: 293513140
Bug: 293513467
Test: atest ViewRootImplTest / ViewTest / UiBenchMicrobenchmark
Change-Id: If6a342eb137e0f36834d2b439997e752685f7ee2
Diffstat (limited to 'libs/androidfw/FileStream.cpp')
0 files changed, 0 insertions, 0 deletions