Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi CPU veranlassen mit maximaler Taktfrequenz zu arbeiten ? (https://www.delphipraxis.net/15296-cpu-veranlassen-mit-maximaler-taktfrequenz-zu-arbeiten.html)

stoxx 25. Jan 2004 23:30


CPU veranlassen mit maximaler Taktfrequenz zu arbeiten ?
 
Ich messe die CPU Geschwindigkeit mit der hinlänglich bekannten Methode.
Leider haben Notebooks mit mobilen Prozessoren die Eigenschaft, eine variable Taktfrequenz zu haben.
Auch die neuen Athlon 64 haben dieses Feature, wenn man es aktiviert.
Wie kann ich veranlassen, dass die CPU in der maximalen Taktfrequenz fährt ?


vielen Dank !

Hier der Code um den cpu Speed zu messen

Delphi-Quellcode:
function cpuspeed: 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;  // von procedure cpuspeed

Robert_G 25. Jan 2004 23:56

Re: CPU veranlassen mit maximaler Taktfrequenz zu arbeiten ?
 
Ich bin kein WinAPI-PRO und kann dir deshalb auch nur eine Richtung vorschlagen.
Im Startmenü unter "Programme\Zubehör\Systemprogramme\" gibt es die Systeminformationen.
Direkt unter Systemübersicht siehst du die Taktfrequenz des Prozessors.

Wen du einen Weg findest diese Info auszulesen hast du deine CPU-Geschwindigkeit...


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:10 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz