Функция Sleep в Delphi гарантирует, что поток приостановлен по крайней мере на указанный период времени, но не обеспечивает точно указанную задержку. 3 Если поток переведён в спящее состояние с помощью этой функции, то выйти из него можно только по истечении указанного временного периода. 5
Стандартный таймер Delphi (объект TTimer) основан на обычном таймере Windows. 2 Он посылает окну сообщения WMTIMER, которые не являются асинхронными. 2 Эти сообщения ставятся в обычную очередь сообщений приложения и обрабатываются, как и все остальные. 2 Кроме того, WMTIMER обладает самым низким приоритетом по отношению к другим сообщениям, поэтому может задерживаться на значительное время. 2
Для повышения точности таймера можно вручную задавать погрешность отсчёта эталонного интервала времени с помощью функции TimeBeginPeriod. 2 Для поддержания такого высокоточного разрешения используются дополнительные системные ресурсы, поэтому нужно вызывать TimeEndPeriod для их высвобождения по завершению всех операций. 2