CPU nun Çalışma Frekansını Öğrenme

Yazdığınız makaleleri ve üyelerimizin işine yarayacağını düşündüğünüz kodlarınızı gönderebilirsiniz. Bu foruma soru sormayın!
Cevapla
DotCom
Kıdemli Üye
Mesajlar: 1696
Kayıt: 11 Tem 2003 10:30
Konum: İzmir
İletişim:

CPU nun Çalışma Frekansını Öğrenme

Mesaj gönderen DotCom »

Kod: Tümünü seç

function RDTSC : Int64; assembler;
asm
db $0F, $31 // opcode for RDTSC
end;

function RDQPC : Int64;
begin
QueryPerformanceCounter(result);
end;

function CPUSpeed : Integer;
var
f,tsc,pc : Int64;
begin
if QueryPerformanceFrequency(f) then
begin
Sleep(0);
pc := RDQPC;
tsc := RDTSC;
Sleep(100);
pc := RDQPC-pc;
tsc := RDTSC-tsc;
result := round(tsc*f/(pc*1000000));
end
else
result := -1;
end;

// Kullanimi:

Kod: Tümünü seç

procedure TForm1.Button1Click(Sender: TObject);
begin
label1.caption := Format('%d Mhz', [CPUSpeed]);
end;
Cevapla