17 Ağustos 2011 Çarşamba

CPU hızını öğrenme-01


functionGetCPUSpeed:Double;
const
DelayTime=500;//measuretimeinms
var
TimerHi,TimerLo:DWORD;
PriorityClass,Priority:Integer;
begin
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
dw310Fh
sub eax,TimerLo
sbbedx,TimerHi
movTimerLo,eax
movTimerHi,edx
end;
SetThreadPriority(GetCurrentThread,Priority);
SetPriorityClass(GetCurrentProcess,PriorityClass);
Result:=TimerLo/(1000.0*DelayTime);
end;
//Tousethisfunction,write:Caption:=Format('%fMHz',[GetCPUSpeed]);

Hiç yorum yok:

Yorum Gönder