Я хочу, чтобы надежный способ (с точностью 0,1 с) до момента рендеринга и нашел solution (QueryPerformanceCounter
) аналогичному problem. Однако есть drawbacks и некоторые предлагают, чтобы свести к минимуму количество запущенных процессов. Мой вопрос: являются ли приведенные тайминги QueryPerformanceCounter
достаточно надежными (с учетом требуемой точности) и репрезентативными для работы, выполняемой ЦП, при наличии некоторых фоновых процессов (в небезопасном режиме в системе Windows) или при наличии (обратите внимание, что я отключил бы антивирусное программное обеспечение, это просто пример).QueryPerformanceCounter при наличии фоновых процессов
0
A
ответ
1
Современные платформы (Windows> = 7, инвариантные TSC) обеспечивают безопасное использование QueryPerformanceCounter. Смотрите следующую ссылку на подробную документацию:
Вы также можете захотеть взглянуть на QueryThreadCycleTime API. – rakeshdn
@rakeshdn Итак, вы бы предпочли QueryProcessCycleTime (или перечисление QueryThreadCycleTime). Недостатком является то, что они больше не связаны с истекшим временем, но надежны как абстрактный способ сравнения производительности, если я правильно ее понимаю? – Matthias
Ну, конечно, это так, как только ваша программа исчезнет в дикой природе, тогда она будет подвергнута аналогичным ограничениям. Никогда не оптимизируйте свои профилирующие результаты, вы хотите * представительский * номер, который у вас будет надежда на воспроизведение. Возьмите не менее 10 измерений и возьмите * medium *. –