Юзай Multimedia timer
или вставляй на onIdle
А лучше всего заведи отдельный thread который будет рисовать сцену ...
т е в основной проге идут расчёты а thread уже рисует сцену
(расчитанную в некоторый момент времени , она для него как бы статическая , прога же продолжает считать дальше и может
забигать на несколько кадров дальше или наоборот неуспевать это неважно )
у thread можешь поставить ещё и приоритет побольше !
P.S.
не забудь про синхронизацию