diff options
author | 2023-02-27 23:51:52 +0000 | |
---|---|---|
committer | 2023-03-10 00:35:54 +0000 | |
commit | d7971e757171823f9c9e46d98f8239b30dccd55c (patch) | |
tree | f433fa09f5d76173eaa3d707c3190c1299134c0c | |
parent | f515de9517346f3b6cb8ce0a66bffd00e1d0bdfa (diff) |
Update the frameCallback postAt time.
Bug: 260089749
Test: Manual
Change-Id: I3a37c2a482c461f3347cc47601246afb25823866
-rw-r--r-- | libs/hwui/renderthread/RenderThread.cpp | 5 | ||||
-rw-r--r-- | libs/hwui/renderthread/RenderThread.h | 1 |
2 files changed, 3 insertions, 3 deletions
diff --git a/libs/hwui/renderthread/RenderThread.cpp b/libs/hwui/renderthread/RenderThread.cpp index 7a7f1abdd268..0afd949cf5c9 100644 --- a/libs/hwui/renderthread/RenderThread.cpp +++ b/libs/hwui/renderthread/RenderThread.cpp @@ -135,7 +135,9 @@ void RenderThread::frameCallback(int64_t vsyncId, int64_t frameDeadline, int64_t !mFrameCallbackTaskPending) { ATRACE_NAME("queue mFrameCallbackTask"); mFrameCallbackTaskPending = true; - nsecs_t runAt = (frameTimeNanos + mDispatchFrameDelay); + + nsecs_t timeUntilDeadline = frameDeadline - frameTimeNanos; + nsecs_t runAt = (frameTimeNanos + (timeUntilDeadline * 0.25f)); queue().postAt(runAt, [=]() { dispatchFrameCallbacks(); }); } } @@ -257,7 +259,6 @@ void RenderThread::initThreadLocals() { void RenderThread::setupFrameInterval() { nsecs_t frameIntervalNanos = DeviceInfo::getVsyncPeriod(); mTimeLord.setFrameInterval(frameIntervalNanos); - mDispatchFrameDelay = static_cast<nsecs_t>(frameIntervalNanos * .25f); } void RenderThread::requireGlContext() { diff --git a/libs/hwui/renderthread/RenderThread.h b/libs/hwui/renderthread/RenderThread.h index 0a89e5e944f8..c77cd4134d1e 100644 --- a/libs/hwui/renderthread/RenderThread.h +++ b/libs/hwui/renderthread/RenderThread.h @@ -235,7 +235,6 @@ private: bool mFrameCallbackTaskPending; TimeLord mTimeLord; - nsecs_t mDispatchFrameDelay = 4_ms; RenderState* mRenderState; EglManager* mEglManager; WebViewFunctorManager& mFunctorManager; |