Поделиться через


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 значение остается постоянным во время работы системы.

Применяется к

См. также раздел