ecore-x - use current time not vblank timestamp for animator time

sometimes on some systems and drviers time here is not what we
want/expect. it can be in the future. there are reasons so, work
around this and use the timestamp of "now" when we get the event as
opposed to the timestamp given to work around odd weirdnesses and
complaints time went backwards.

@fix
This commit is contained in:
Carsten Haitzler 2022-05-17 15:02:20 +01:00
parent 5f85967da1
commit f682178017
1 changed files with 9 additions and 4 deletions

View File

@ -382,7 +382,7 @@ _drm_vblank_handler(int fd EINA_UNUSED,
D(" @%1.5f vblank %i\n", ecore_time_get(), frame);
if (pframe != frame)
{
#define DELTA_COUNT 10
#if 0 // disable timestamp from vblank and use time event arrived
double t = (double)sec + ((double)usec / 1000000);
unsigned long long tusec, ptusec, tdelt = 0;
static unsigned int psec = 0, pusec = 0;
@ -411,10 +411,15 @@ _drm_vblank_handler(int fd EINA_UNUSED,
}
}
_drm_fail_count = 0;
_drm_send_time(t);
pframe = frame;
psec = sec;
pusec = usec;
psec = sec;
#else
double t = ecore_time_get();
_drm_send_time(t);
sec = 0;
usec = 0;
#endif
pframe = frame;
}
}
else