AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Threads: optimale Nutzen/Prozessorleistung-Optimierung
Thema durchsuchen
Ansicht
Themen-Optionen

Threads: optimale Nutzen/Prozessorleistung-Optimierung

Ein Thema von Thorus · begonnen am 30. Mär 2005 · letzter Beitrag vom 1. Apr 2005
 
Thorus

Registriert seit: 3. Jul 2004
23 Beiträge
 
Delphi 2005 Personal
 
#1

Threads: optimale Nutzen/Prozessorleistung-Optimierung

  Alt 30. Mär 2005, 13:29
Hallo,

ich habe einen Thread, der das tut was er soll. Das Problem ist nur, dass die Prozessorleistung immer auf 100% ist.
Code:
uses rdtsc;

procedure TMyThread.Execute;
var
  Zeit:int64;
begin
  Zeit := cpuGetTick;
  while not Terminated do
  begin
    if cpuGetMs(Zeit) > 9 then
    begin
      Zeit := cpuGetTick;
      Synchronize(TueEtwas);
    end;
  end;
end;
Dieser Thread ruft die Methode TueEtwas maximal so 100 mal in der Sekunde auf.
Ich hatte auch probiert vor "if cpuGet.." Sleep(1) zu setzen. Dies funktioniert zwar, ist aber viel zu langsam. Mit Sleep war die Prozessorbelastung aber minimal, so wie es sein sollte.
75-100 mal pro Sekunde sollten es schon sein.

Das Problem bei Sleep ist auch, dass, wenn für das auszuführende TueEtwas 10 ms verbraucht werden, dann wartet er mit Sleep trotzdem noch eine Weile, obwohl TueEtwas eigentlich sofort wieder ausgeführt werden sollte.

Wenn Sleep(1) wirklich nur 1 ms brauchen würde, wär das ja ok, aber das tut es wohl nicht.
  Mit Zitat antworten Zitat
 


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 05:25 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