diff options
author | Ady Abraham <adyabr@google.com> | 2020-10-05 17:59:09 -0700 |
---|---|---|
committer | Ady Abraham <adyabr@google.com> | 2020-10-09 11:17:32 -0700 |
commit | dfb13985aff33cda393ffefc0db3103443f3be49 (patch) | |
tree | 25f497b88843c109e7ba08aa8a442d0a23336bc9 /libs/hwui/renderthread/RenderThread.cpp | |
parent | 6057df4f9e36765965fa787c0670ed6ac964138e (diff) |
pass frame deadline to Choreographer
Pass the frame deadline calculated by SF to Choreographer so
hwui would be able to improve its stats by knowing if a frame is
likely to be late.
Bug: 169858174
Test: manual
Change-Id: Ib9fd93638b54f08d8dc72fa6b023e2dd7c276dc7
Diffstat (limited to 'libs/hwui/renderthread/RenderThread.cpp')
-rw-r--r-- | libs/hwui/renderthread/RenderThread.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/libs/hwui/renderthread/RenderThread.cpp b/libs/hwui/renderthread/RenderThread.cpp index 9371656eda7f..a101d46f6da0 100644 --- a/libs/hwui/renderthread/RenderThread.cpp +++ b/libs/hwui/renderthread/RenderThread.cpp @@ -52,8 +52,9 @@ static JVMAttachHook gOnStartHook = nullptr; void RenderThread::frameCallback(int64_t frameTimeNanos, void* data) { RenderThread* rt = reinterpret_cast<RenderThread*>(data); int64_t vsyncId = AChoreographer_getVsyncId(rt->mChoreographer); + int64_t frameDeadline = AChoreographer_getFrameDeadline(rt->mChoreographer); rt->mVsyncRequested = false; - if (rt->timeLord().vsyncReceived(frameTimeNanos, frameTimeNanos, vsyncId) && + if (rt->timeLord().vsyncReceived(frameTimeNanos, frameTimeNanos, vsyncId, frameDeadline) && !rt->mFrameCallbackTaskPending) { ATRACE_NAME("queue mFrameCallbackTask"); rt->mFrameCallbackTaskPending = true; |