Функция QueryPerformanceCounter

Declare Function QueryPerformanceCounter Lib "kernel32.dll" (lpPerformanceCount As Currency) As Long
QueryPerformanceCounter позволяет получить значение системного высокоточного таймера. Системный высокоточный таймер - это счетчик, позволяющий измерять очень маленькие интервалы времени с большой точностью. Точность времени очень сильно зависит от конкретного оборудования. Узнать, насколько точны интервалы времени можно с помощью QueryPerformanceFrequency, возвращающей число тактов в секунду. Зная эту частоту, вы можете использовать высокоточный таймер
lpPerformanceCount
64-битное значение таймера. Мы используем для удобства тип Currency

Пример

' Вычислим время необходимое для длительных вычислений
Dim i ' счетчик для вычислений
Dim freq as Currency ' частота, генерируемая компьютером
Dim mystart As Currency, mystop As Currency ' начальное и конечные значения счетчика

If QueryPerformanceFrequency(freq) = 0 Then
   MsgBox "Ваш компьютер не поддерживает высокоточный таймер!"
End If

QueryPerformanceFrequency freq
QueryPerformanceCounter mystart ' начальное значение счетчика
' Проводим длительные вычисления
For i = 1 To 7500000
  i = i + 1
Next

QueryPerformanceCounter mystop ' конечное значение счетчика
' Вычисляем интервал, которое понадобилось для длительного вычисления
' Для этого вычитаем начальное значение из конечного
' и делим на частоту таймера
MsgBox (mystop - mystart) / freq & " сек."

Смотри также

QueryPerformanceFrequency

Категория

Таймер