Почему счетчику производительности для System Uptime требуется 2 вызова NextValue? - PullRequest
0 голосов
/ 11 июня 2018

Вот как вы получаете счетчик производительности для времени работы системы:

public TimeSpan GetSystemUptime(){
   PerformanceCounter upTime = new PerformanceCounter("System", "System Up Time");
   upTime.NextValue();
   return TimeSpan.FromSeconds(upTime.NextValue());
}

NextValue нужно вызывать дважды, потому что при первом вызове он равен 0.Но я не понимаю, ПОЧЕМУ он использует счетчик, который должен быть прочитан дважды.Я понимаю, что для чего-то вроде CPU Usage [new PerformanceCounter («Информация о процессоре», «% Processor Time», «_Total»)) потребовалось бы 2 значения, потому что оно вычисляет среднее по времени.но зачем вам нужно измерять 2 раза при расчете времени работы системы?Разве вам не нужно просто измерить текущее время и сравнить его со временем загрузки?

...