diff options
-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; |