am 6c51a07d: am de18f6c3: InputResampling: Don\'t extrapolate for very low frame rates.

* commit '6c51a07d30a3c4bed9675da88c5f6f24a741d9a2':
  InputResampling: Don't extrapolate for very low frame rates.
This commit is contained in:
Andrew de los Reyes 2015-10-02 02:22:46 +00:00 committed by Android Git Automerger
commit c9b392395f

View File

@ -51,6 +51,10 @@ static const nsecs_t RESAMPLE_LATENCY = 5 * NANOS_PER_MS;
// Minimum time difference between consecutive samples before attempting to resample. // Minimum time difference between consecutive samples before attempting to resample.
static const nsecs_t RESAMPLE_MIN_DELTA = 2 * NANOS_PER_MS; static const nsecs_t RESAMPLE_MIN_DELTA = 2 * NANOS_PER_MS;
// Maximum time difference between consecutive samples before attempting to resample
// by extrapolation.
static const nsecs_t RESAMPLE_MAX_DELTA = 20 * NANOS_PER_MS;
// Maximum time to predict forward from the last known state, to avoid predicting too // Maximum time to predict forward from the last known state, to avoid predicting too
// far into the future. This time is further bounded by 50% of the last time delta. // far into the future. This time is further bounded by 50% of the last time delta.
static const nsecs_t RESAMPLE_MAX_PREDICTION = 8 * NANOS_PER_MS; static const nsecs_t RESAMPLE_MAX_PREDICTION = 8 * NANOS_PER_MS;
@ -724,7 +728,7 @@ void InputConsumer::resampleTouchState(nsecs_t sampleTime, MotionEvent* event,
nsecs_t delta = future.eventTime - current->eventTime; nsecs_t delta = future.eventTime - current->eventTime;
if (delta < RESAMPLE_MIN_DELTA) { if (delta < RESAMPLE_MIN_DELTA) {
#if DEBUG_RESAMPLING #if DEBUG_RESAMPLING
ALOGD("Not resampled, delta time is %lld ns.", delta); ALOGD("Not resampled, delta time is too small: %lld ns.", delta);
#endif #endif
return; return;
} }
@ -736,7 +740,12 @@ void InputConsumer::resampleTouchState(nsecs_t sampleTime, MotionEvent* event,
nsecs_t delta = current->eventTime - other->eventTime; nsecs_t delta = current->eventTime - other->eventTime;
if (delta < RESAMPLE_MIN_DELTA) { if (delta < RESAMPLE_MIN_DELTA) {
#if DEBUG_RESAMPLING #if DEBUG_RESAMPLING
ALOGD("Not resampled, delta time is %lld ns.", delta); ALOGD("Not resampled, delta time is too small: %lld ns.", delta);
#endif
return;
} else if (delta > RESAMPLE_MAX_DELTA) {
#if DEBUG_RESAMPLING
ALOGD("Not resampled, delta time is too large: %lld ns.", delta);
#endif #endif
return; return;
} }