Basic framework of the UI toolkit variable refresh rate project
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 Change-Id: I78a8f327eda8f2a32180cba7b93e939fa3a658ff
Showing
- core/java/android/view/View.java 48 additions, 0 deletionscore/java/android/view/View.java
- core/java/android/view/ViewRootImpl.java 176 additions, 0 deletionscore/java/android/view/ViewRootImpl.java
- core/tests/coretests/Android.bp 2 additions, 0 deletionscore/tests/coretests/Android.bp
- core/tests/coretests/src/android/view/ViewRootImplTest.java 136 additions, 0 deletionscore/tests/coretests/src/android/view/ViewRootImplTest.java
Loading
Please register or sign in to comment