Я работаю над приложением, которое выполняет множество вычислений, основанных на времени, в C ++, VS2019, Window 10. Время или, точнее, истекшее время, которое используется в приложении, рассчитывается на основе: (псевдокод ):
CurrentTimeStamp = QueryPerformanceCounter();
TimeDelta = CurrentTimeStamp - LastStoredTimeStamp;
LastStoredTimeStamp = CurrentTimeStamp;
на основе множества решений TimeDelta, которые принимаются в приложении. Это работает нормально, за исключением случаев, когда я отлаживаю приложение. Performacecounter продолжает считать, когда приложение находится в режиме отладки в отладчике (как следует в соответствии со спецификациями).
Но есть ли способ сделать что-то вроде:
CurrentTimeStamp = QueryPerformanceCounter();
TimeDelta = CurrentTimeStamp - LastStoredTimeStamp - TIME_SPEND_IN_DEBUGGER;
LastStoredTimeStamp = CurrentTimeStamp;
- или -
TimeDelta = GetTimeSpendInRunningModeSinceLastCall();
Обратите внимание, что дельта времени в обычных операциях составляет порядка 10 мс. Таким образом, решение будет работать только для меня, когда я смогу получить точность в течение нескольких миллисекунд.
Заранее спасибо, Морис.