Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Keine 100% CPU (https://www.delphipraxis.net/6562-keine-100-cpu.html)

theomega 15. Jul 2003 11:31


Keine 100% CPU
 
Hallo Leute
ich habe ein programm geschrieben, das in einer Recht zeitintensiven und auch CPU-intensiven Funktion etwas ausrechnet.
Nur: sollange das Programm rechnet ist der Computer fast nicht zu gebrauchen. Wie kann ich mein Programm davon überzeugen, nur x % CPU-Last zu benutzen? Am besten wäre es, wenn man das einstellen könnte

Grüße
TO

X-Dragon 15. Jul 2003 11:49

Re: Keine 100% CPU
 
Irgendwie kann man einstellen, das ein Programm alles an Rechenzeit abgreifen kann was aktuell ungenutzt ist (so macht es z.B. Seti). Also das das Programm, Windows seine Priorität mitteilt, wie wichtig das Programm ist. Hab ich aber selbst noch nicht genutzt ...

sakura 15. Jul 2003 11:49

Re: Keine 100% CPU
 
Die beste Lösung wäre es, die Berechnungen in einen separaten Thread (OH :arrow: TThread) auszulagen und dessen Priorität auf niedrig zu setzen.

...:cat:...

flow 15. Jul 2003 11:50

Re: Keine 100% CPU
 
Du kannst manuell im Taskmanager die Priorität festlegen, ist aber sicher nicht was du brauchst oder?

FLOW

Rumpi 26. Aug 2003 21:58

Re: Keine 100% CPU
 
Hi,

Delphi-Quellcode:
var
  H : THandle;
begin
  H := GetCurrentProcess();
  SetPriorityClass(H, IDLE_PRIORITY_CLASS);
  try
    try
      ... // deine Function
    except
    end;
  finally
    SetPriorityClass(H, NORMAL_PRIORITY_CLASS);
  end;
mfg Rumpi

Assarbad 15. Sep 2003 17:26

Re: Keine 100% CPU
 
Die Prioritaet kann man auch threadweise zuweisen ... und dann sollte diese Frage auch nicht mehr eine "offene Frage" sein, oder???


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:57 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