ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Понедельник
8 июля
229993 Топик полностью
aleksey_gregul (21.12.2010 19:48, просмотров: 132) ответил ReAl на А ОС-то какая? DOS? А то остальные как прервут работу, как вернут управление милисекунд так через 5-15, так стандартные милисекундный таймер и нормальное разрешение имеет. Кстати, если говорить о GetTickCount(), то
Если читать с LPT-порта, могут быть и задержки. Но если сделать что-то свое, PCI_йное, можно достаточно точно мерять. Я когда-то делал свою PCI-плату на рассыпухе. Использовал RDTSC таким образом: function rdtsc:int64; var i64:dword absolute result; begin asm push eax push edx db 0fh db 31h mov i64,eax mov i64+4,edx pop edx pop eax end; end; На время измерений делал procedure cli; begin if not winnt then asm cli end else begin SetPriorityClass(GetCurrentProcess, REALTIME_PRIORITY_CLASS); SetThreadPriority(GetCurrentThread, THREAD_PRIORITY_TIME_CRITICAL); end; end; Здесь даже мышь не шелохнется. Процессор занят только моей задачей. procedure sti; begin if not winnt then asm sti end else begin SetPriorityClass(GetCurrentProcess, NORMAL_PRIORITY_CLASS); SetThreadPriority(GetCurrentThread, THREAD_PRIORITY_NORMAL); end; end; Получал очень достойные результаты. Это под дельфи5