Время выполнения кода может отличаться от кадра к кадру. Например, где-то за один кадр всё отрисуется, где-то за два.
время работы процедур отрисовки тебе известно
заведи щетчик на каждую большую отрисовку
потом коггда примерное время каждра кончилось
уходи на синхронизацию