Unless I'm missing something line 308 (in version 1.1.4) in clock.py will
always schedule an event in the past.
item.next_ts = item.last_ts + item.interval
It should either be:
item.next_ts += item.interval
item.next_ts = ts + item.interval
On my computer the first option allows me to move an image across the
screen smoothly where as the second option always makes for jerky movement.
An example to make it clearer.
Lets say an event wants to run at 25 fps, it would start with:
last_ts = 0.000
next_ts = 0.040
interval = 0.040
When Clock.tick() gets around to calling the event (before the check to see
if next_ts is in the past) you end up with.
ts >= 0.040
next_ts = 0.000 + 0.040
last_ts = ts
So next_ts is now in the past.