Einzelnen Beitrag anzeigen

ameise

Registriert seit: 2. Sep 2012
Ort: Trier
2 Beiträge
 
#12

AW: Hohe CPU-Auslastung bei andauernder Abfrage

  Alt 3. Sep 2012, 09:42
Guten Morgen,

@hathor: mit deiner Delay Procedure bekomme ich einen Integerüberlauf mit der anderen Procedure aus der CodeLib habe ich weiterhin eine Auslastung von 100%. Also von der Auslastung komm ich nicht runter. Ich habe mir jetzt selbst eine Procedure geschrieben mit der ich genauer als in Millisekunden warten kann und muss somit zumindestens nicht andauernd das Netzwerk belasten. Klappt erstaunlich gut.

Code:
procedure warten(const zeit_ms:double);
var
  start,akt,freq: Int64;
begin
  QueryPerformanceFrequency(freq);
  QueryPerformanceCounter(start);
  akt:=start;
  while (akt-start)*1000/freq<zeit_ms do begin
    application.ProcessMessages;
    QueryPerformanceCounter(akt);
  end;
end;
@Helmi: ich habe leider keine Möglichkeit das SPS Programm zu ändern.

Also ich habe auch einen acht Kern Prozessor eingebaut, deswegen liegt die CPU Auslastung insgesamt für das Auslesen bei 25%. Auf weiteren zwei Kernen werte ich die Daten noch etwas aus und dann bleiben immer noch vier für den ganzen Rest. Der PC ist auch nur für die Aufgabe zuständig, ob das alles dauerhaft konstant funktioniert muss ich mal sehen.
  Mit Zitat antworten Zitat