Stopwatch.Frequency Поле
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Получает частоту таймера в виде количества тактов в секунду. Это поле доступно только для чтения.
public: static initonly long Frequency;
public static readonly long Frequency;
staticval mutable Frequency : int64
Public Shared ReadOnly Frequency As Long
Значение поля
Примеры
В следующем примере показана частота и разрешение Stopwatch таймера. Этот пример входит в состав более крупного примера использования класса Stopwatch.
void DisplayTimerProperties()
{
// Display the timer frequency and resolution.
if ( Stopwatch::IsHighResolution )
{
Console::WriteLine( "Operations timed using the system's high-resolution performance counter." );
}
else
{
Console::WriteLine( "Operations timed using the DateTime class." );
}
Int64 frequency = Stopwatch::Frequency;
Console::WriteLine( " Timer frequency in ticks per second = {0}", frequency );
Int64 nanosecPerTick = (1000L * 1000L * 1000L) / frequency;
Console::WriteLine( " Timer is accurate within {0} nanoseconds", nanosecPerTick );
}
public static void DisplayTimerProperties()
{
// Display the timer frequency and resolution.
if (Stopwatch.IsHighResolution)
{
Console.WriteLine("Operations timed using the system's high-resolution performance counter.");
}
else
{
Console.WriteLine("Operations timed using the DateTime class.");
}
long frequency = Stopwatch.Frequency;
Console.WriteLine(" Timer frequency in ticks per second = {0}",
frequency);
long nanosecPerTick = (1000L*1000L*1000L) / frequency;
Console.WriteLine(" Timer is accurate within {0} nanoseconds",
nanosecPerTick);
}
Public Shared Sub DisplayTimerProperties()
' Display the timer frequency and resolution.
If Stopwatch.IsHighResolution Then
Console.WriteLine("Operations timed using the system's high-resolution performance counter.")
Else
Console.WriteLine("Operations timed using the DateTime class.")
End If
Dim frequency As Long = Stopwatch.Frequency
Console.WriteLine(" Timer frequency in ticks per second = {0}", frequency)
Dim nanosecPerTick As Long = 1000000000 / frequency
Console.WriteLine(" Timer is accurate within {0} nanoseconds", nanosecPerTick)
End Sub
Комментарии
Частота таймера указывает точность и разрешение таймера. Например, частота таймера в 2 миллиона тактов в секунду равна разрешению таймера 500 наносекунд на тик. Другими словами, поскольку одна секунда равна 1 миллиарду наносекунд, частота таймера 2 миллиона тактов в секунду эквивалентна 2 миллионам тактов на 1 миллиард наносекунд, что может быть дополнительно упрощено до 1 галочки на 500 наносекунд.
Значение Frequency зависит от разрешения базового механизма времени. Если установленное оборудование и операционная система поддерживают счетчик производительности с высоким разрешением Frequency , значение отражает частоту этого счетчика. В противном Frequency случае значение основано на частоте системного таймера.
Stopwatch Так как частота зависит от установленного оборудования и операционной системы, Frequency значение остается постоянным во время работы системы.