Не API, а основной цикл программы.
Он может выглядеть так
начало:
нарисовать картинку
проверить пользовательский ввод
если прошло 10 мсек (к примеру) то
сделать шаг вычислений
конецесли
перейти на начало
------
Т.е. на слабом процессоре всё будет замечательно, а вот на сильном - раз в 10 мсек будет выполняться (сделать шаг вычислений), а в остальное время - перерисовываться картинка. Прпосто на слабом компе она будет перерисовываться, скажем, 20 раз в секунду, а на сильном - 1000 раз.
И тут, если вставить sleep(1) в нужное место :-) , то процессор будет какое-то время разгружен.
Попробую добыть вторых Героев и третьих платиновых (где-то они у меня были) и посмотреть, что на них происходит.