PavelGMМногое будет зависеть от функции, которая выполняется при срабатывании таймера. Системный таймер, если не успевает выполнить функцуию в течении своей разрешающей способности (примерно 15 мс или около того), будет устойчиво накапливать ошибку, если функция каждый раз не будет создавать для себя отдельный поток. Точнее, функция должна быть уже сама по себе в отдельном потоке.
Мультимедиатаймер, судя по MSDN, вызывает свою callback-функцию уже в отдельном потоке, но и здесь, как ни странно, бывают ошибки периода при разрешении менее чем в 2..3 мс.
А вот с GetTickCount можно задать создание нового потока при каждом наступлении новой милисекунды, если старый отдельный поток не успел отработать и, тем самым, гарантировать разрешающую способность в 1 мс. Впрочем, тут нужны эксперименты.
Таким образом всё упирается в решаемую функцией таймера задачи.
Об авторе:
Я только в одном глубоко убеждён - не надо иметь убеждений! :)