DispSync: remove delay when enabling vsync events
This change fixes a bug that caused an extra frame of latency when enabling vsync event callbacks in DispSync. The bug was related to the logic that prevents the two events from firing with very little time between them due to updates to the vsync model. Bug: 11479720 Change-Id: Ie7eaff9e92ffb7b7b6cb4d3d4402c96cbd29af7e
This commit is contained in:
parent
bef08b8d1b
commit
629b987818
@ -164,7 +164,14 @@ public:
|
||||
EventListener listener;
|
||||
listener.mPhase = phase;
|
||||
listener.mCallback = callback;
|
||||
listener.mLastEventTime = systemTime(SYSTEM_TIME_MONOTONIC);
|
||||
|
||||
// We want to allow the firstmost future event to fire without
|
||||
// allowing any past events to fire. Because
|
||||
// computeListenerNextEventTimeLocked filters out events within a half
|
||||
// a period of the last event time, we need to initialize the last
|
||||
// event time to a half a period in the past.
|
||||
listener.mLastEventTime = systemTime(SYSTEM_TIME_MONOTONIC) - mPeriod / 2;
|
||||
|
||||
mEventListeners.push(listener);
|
||||
|
||||
mCond.signal();
|
||||
|
Loading…
Reference in New Issue
Block a user