У Франка Луны (DirectX 12) говорится, что показания таймера могут отличаться из-за переключения операционной системой главного потока на разные процессоры (ядра?):
MSDN has the following remark about QueryPerformanceCounter:
“On a multiprocessor computer, it should not matter which processor is called.
However, you can get different results on different processors due to bugs in the
basic input/output system (BIOS) or the hardware abstraction layer (HAL).” You
can use the SetThreadAffinityMask function so that the main application
thread does not get switch to another processor.