AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi Hohe CPU-Auslastung bei andauernder Abfrage

Hohe CPU-Auslastung bei andauernder Abfrage

Ein Thema von ameise · begonnen am 2. Sep 2012 · letzter Beitrag vom 3. Sep 2012
Antwort Antwort
Seite 2 von 2     12
ameise

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

AW: Hohe CPU-Auslastung bei andauernder Abfrage

  Alt 3. Sep 2012, 08: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
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.399 Beiträge
 
Delphi 12 Athens
 
#2

AW: Hohe CPU-Auslastung bei andauernder Abfrage

  Alt 3. Sep 2012, 15:11
Wer im ms-Bereich programmiert, muss folgende Seite und WINDOWS gut kennen:
Wobei Now und TTimer nicht im Sekundenbereich arbeiten.

Das arbeitet wie bei GetTickCount aktuell so mit rund 16 ms.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:11 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz