One potential approach we could take is to spawn a dedicated thread whose role is to wait 2 ms and then submit, and kick that thread every time we start a command buffer. (Note that we'd need to use timeBeginPeriod to turn down the timer resolution). That would avoid the need for QueryPerformanceCounter(). It's not clear to me that it's worth the trouble, though.