Replacement for Windows Multimedia Timers to get 1 ms timer
12:38 05 Jan 2026

I'm using WinMM timers to be able to execute periodic tasks with period of 1 ms. It works great, but in the docs for timeSetEvent function, for example, I see info that the function is obsolete:

Note This function is obsolete. New applications should use CreateTimerQueueTimer to create a timer-queue timer.

Well, I've tried the suggested function, but the minimum interval I can achieve is 15.6 ms which we all know (great article on this from MS - Timer-Resolution.docx). Of course, I've called timeBeginPeriod function before calling CreateTimerQueueTimer with 1 ms demand, it didn't help.

I've tried on Win 10, if it matters, and maybe the situation is different on Win 11, but I need a solution that will work on both Win 10 and Win 11, so from what I see multimedia timers is the only reliable way to get 1 ms timer.

Also, in About Multimedia Timers article MS suggests Multimedia Class Scheduler Service (MMCSS). And I don't understand why. MMCSS is not about timers, it's about raising threads priority to execute time-sensitive processing (for example, audio rendering).

So is there a real alternative to WinMM timers to get 1 ms period?

winapi timer winmm