Problem:
You create a new timer, to be run every 1/30th of a second.
You would expect this timer to either run imemdiately, or at least within 1/30 of a second.
However, in _wait, it waits until the next timer is due - which can be quite some time, at least 700ms on a test I have done, which causes a marked lag in response (specifically on scrolling large lists).
Solution:
pass wait a callable rather than an absolute time to wait until - this allows the wait routine to dynamically check whether the next timer is due or not
Problem: You create a new timer, to be run every 1/30th of a second. You would expect this timer to either run imemdiately, or at least within 1/30 of a second. However, in _wait, it waits until the next timer is due - which can be quite some time, at least 700ms on a test I have done, which causes a marked lag in response (specifically on scrolling large lists).
Solution: pass wait a callable rather than an absolute time to wait until - this allows the wait routine to dynamically check whether the next timer is due or not