Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.04.03;
Скачать: CL | DM;

Вниз

2 вопроса   Найти похожие ветки 

 
kpo   (2003-02-09 12:22) [0]

как узнать быстродействие ПК (Скорось CPU)и объем оперативной памяти .желательно исходник


 
SniZ ©   (2003-02-09 21:57) [1]

function GetCPUSpeed: Double;
const
DelayTime = 500; // measure time in ms
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 // rdtsc
mov TimerLo, eax
mov TimerHi, edx
end;
Sleep(DelayTime);
asm
dw 310Fh // rdtsc
sub eax, TimerLo
sbb edx, TimerHi
mov TimerLo, eax
mov TimerHi, edx
end;
SetThreadPriority(GetCurrentThread, Priority);
SetPriorityClass(GetCurrentProcess, PriorityClass);
Result := TimerLo / (1000.0 * DelayTime);
end;

и в каком нибудь абрободчике пишеш
допустим в лабеле1
Label1.Caption := Format("CPU speed: %f MHz", [GetCPUSpeed]);


 
Спрашивающий   (2003-02-10 07:30) [2]

Функция не универсальна дает сбой на некоторых моделях процессоров. Я сталкивался когда на ноутбуке она занижает частоту в 10 раз.



Страницы: 1 вся ветка

Текущий архив: 2003.04.03;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.021 c
14-6723
vic_774N
2003-03-16 10:01
2003.04.03
Стоит ли трудиться ? ( Написание отладчика )


3-6377
Shurko
2003-03-13 16:09
2003.04.03
Генерация уникального значения в Oracle


1-6576
drAlban
2003-03-21 22:48
2003.04.03
Как получить хэндл файла?


7-6797
Элина
2003-02-07 14:27
2003.04.03
Как узнать серийные номера девайсов


1-6558
Kaser
2003-03-21 16:48
2003.04.03
Позиционирование курсора в произвольную позицию dbGrid