[an error occurred while processing this directive]
[an error occurred while processing this directive]
|
для определения частоты CPU использован алгоритм:
CPU Speed 1.0, Copyright (c) 1998 Erik Salaj, erik@dodo.sk
PriorityClass := GetPriorityClass(GetCurrentProcess);
Priority := GetThreadPriority(GetCurrentThread);
SetPriorityClass(GetCurrentProcess, REALTIME_PRIORITY_CLASS);
SetThreadPriority(GetCurrentThread, THREAD_PRIORITY_TIME_CRITICAL);
Sleep(10);
asm
dw 310Fh
mov TimerLo, eax
mov TimerHi, edx
end;
Sleep(DelayTime);
asm
dw 310Fh
sub eax, TimerLo
sbb edx, TimerHi
mov TimerLo, eax
mov TimerHi, edx
end;
SetThreadPriority(GetCurrentThread, Priority);
SetPriorityClass(GetCurrentProcess, PriorityClass);
Speed := TimerLo / (1000.0 * DelayTime);
fProcSpeed:= Format('%f MHz', [Speed])
E-mail: info@telesys.ru