Недавно я решил, что мне нужно перейти от использования миллисекунд к микросекундам для моего класса Timer, и после некоторых исследований я решил, что QueryPerformanceCounter - это, наверное, моя самая безопасная ставка. (Предупреждение в Boost::Posix о том, что он может не работать в Win32 API, немного отбросит меня). Однако я не уверен, как его реализовать.
То, что я делаю, вызывает любую функцию GetTicks() esque, которую я использую, и назначая ее переменной Timer startingTicks. Затем, чтобы найти количество пройденного времени, я просто вычитаю возвращаемое значение функции из startingTicks, а когда я reset таймер, я просто вызываю функцию снова и назначаю для нее startTicks. К сожалению, из кода, который я видел, не так просто, как просто вызов QueryPerformanceCounter(), и я не уверен, что я должен передать в качестве аргумента.