diff options
| author | Jorim Jaggi <jjaggi@google.com> | 2021-01-19 00:08:02 +0100 |
|---|---|---|
| committer | Jorim Jaggi <jjaggi@google.com> | 2021-04-13 15:18:27 +0000 |
| commit | 10f328c580fe1e897b51a7e4b38ee4c341d970f1 (patch) | |
| tree | b5719df2aa8460ef2925440e72ecec07020557b1 /core/java/android/view/FrameMetrics.java | |
| parent | a373e1ed5a59997b2cc8ac86615963d8597e4a2b (diff) | |
Change hwui jank detection to use deadline & gpu completion (1/2)
- Use GPU finish time as well as actual deadline to determine jank
rate.
- Use dynamic interval to adjust for 60/90hz switching
- Move frame metrics reporting into JankTracker to adjust the
deadline communicated to the app when in stuffing scenario.
- Adjust double-stuffing detection to be a bit more readable.
Test: GraphicsStatsValidationTest.java
Test: adb shell dumpsys gfxinfo
Test: FrameMetricsListenerTest
Test: Log output of FrameMetricsObserver
Bug: 169858044
Change-Id: I3a6b8ed163e2cf9cf2b67667110340ebe35f98a1
Diffstat (limited to 'core/java/android/view/FrameMetrics.java')
| -rw-r--r-- | core/java/android/view/FrameMetrics.java | 23 |
1 files changed, 12 insertions, 11 deletions
diff --git a/core/java/android/view/FrameMetrics.java b/core/java/android/view/FrameMetrics.java index 9cdf91a55c39..f6d525c10cc9 100644 --- a/core/java/android/view/FrameMetrics.java +++ b/core/java/android/view/FrameMetrics.java @@ -243,18 +243,19 @@ public final class FrameMetrics { int DRAW_START = 8; int FRAME_DEADLINE = 9; int FRAME_START_TIME = 10; - int SYNC_QUEUED = 11; - int SYNC_START = 12; - int ISSUE_DRAW_COMMANDS_START = 13; - int SWAP_BUFFERS = 14; - int FRAME_COMPLETED = 15; - int DEQUEUE_BUFFER_DURATION = 16; - int QUEUE_BUFFER_DURATION = 17; - int GPU_COMPLETED = 18; - int SWAP_BUFFERS_COMPLETED = 19; - int DISPLAY_PRESENT_TIME = 20; + int FRAME_INTERVAL = 11; + int SYNC_QUEUED = 12; + int SYNC_START = 13; + int ISSUE_DRAW_COMMANDS_START = 14; + int SWAP_BUFFERS = 15; + int FRAME_COMPLETED = 16; + int DEQUEUE_BUFFER_DURATION = 17; + int QUEUE_BUFFER_DURATION = 18; + int GPU_COMPLETED = 19; + int SWAP_BUFFERS_COMPLETED = 20; + int DISPLAY_PRESENT_TIME = 21; - int FRAME_STATS_COUNT = 21; // must always be last and in sync with + int FRAME_STATS_COUNT = 22; // must always be last and in sync with // FrameInfoIndex::NumIndexes in libs/hwui/FrameInfo.h } |
