[an error occurred while processing this directive]
[an error occurred while processing this directive]
|
1) Можно пользоваться функциями API
QueryPerformanceFrequency и QueryPerformanceCounter
Одна функция возвращает время в специальных тиках, а другая выдает количество таких тиков в секунду (т. е. частоту). На компьютерах, которые мне встречались, частота этого счетчика 1 193 180 Герц (меньше микросекунды - Вам должно хватить).
2) В Пентиумах есть встроенный регистр - счетчик тактов - он выдает количество выполненных процесором тактов. Недавно один товарищ приводил код (на BCB 5.0), который узнает этот счетчик :
__int64 getxclk(void)
{
union _dwi64{
struct _dw32{
DWORD lodw;
DWORD hidw;
}dw32;
__int64 i64;
}dwi64;
__asm rdtsc
dwi64.dw32.lodw=_EAX;
dwi64.dw32.hidw=_EDX;
return dwi64.i64;
}
При выполнении таких ответственных моментов желательно выставить REALTIME приоритет для этого процесса.
E-mail: info@telesys.ru