Функция 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
Категория
Таймер