You should know that the windows tick counter is updated every 11-12 ms in NT machines (this was done every 65ms in win9x/me machines). All windows timer events and time updates are done with that interval so you will never get more precision when using the normal windows functions. You can use the "Performance Counter" (assuming the system has one, and most systems do) to get precise time differences and program high-precision timers but HP timers done this way use a lot of resources. If you set a windows timer to 1000 you will get anything from 990 to 1010ms so you will never get exactly 1000ms with the windows timers (even if it's close).