Delphi -- Programmressourcen

Diskutiere Delphi -- Programmressourcen im Developer Network Forum im Bereich Hardware & Software Forum; Hi ich habe in Delphi ein Programm geschrieben welches im Hintergrund in einer Schleife ständig kleine Berechnungen und API-Aufrufe (z.B...
  • Delphi -- Programmressourcen Beitrag #1
D

Deep Space

Bekanntes Mitglied
Dabei seit
01.08.1999
Beiträge
2.004
Reaktionspunkte
0
Hi

ich habe in Delphi ein Programm geschrieben welches im Hintergrund in einer Schleife ständig kleine Berechnungen und API-Aufrufe (z.B. GetPixel) durchführt. Jetzt ist es aber so, das während dieses Programm arbeitet Java u. Flash-Animationen nicht mehr flüssig laufen.
Es scheint so als würde das Programm für sich zu viele Ressourcen und zu viel Prozessorleistung beanspruchen. Da das Programm nicht sonderlich komplex ist und es auch auf einem schnellen Rechner läuft (p500,64MB) dürfte das doch eigendlich nicht passieren.

Wie lässt sich dieses Problem beseitigen?

D.S.
 
  • Delphi -- Programmressourcen Beitrag #2
C

cion

Bekanntes Mitglied
Dabei seit
13.07.2000
Beiträge
257
Reaktionspunkte
0
Ich weiß nicht ob das viel bringt wenn du in deine Schleifen mal ab und zu ein application.processmessages einbaust.

Man kann aber auch dem Programm bestimmt viel Systempower zuweisen, bloß hab ich das noch nie gemacht, aber ich denke mit diesem API Befehl solltest du erfolgreich sein:
SetPriorityClass

Mußt dich da mal umschauen...

cion

------------------
Webmaster @www.neobrothers.de .: 3D Spiele mit Delphi programmieren :.
 
  • Delphi -- Programmressourcen Beitrag #3
O

O Love

Bekanntes Mitglied
Dabei seit
08.04.1999
Beiträge
2.286
Reaktionspunkte
0
Das bringt definitiv was, auch für das eigene Programm, da ja sicher einige Threads parallel laufen...

Als kleines Beispiel eine Warteschleife, die keinen benachteiligt:
Code:
procedure SysDelay (const WaitDelay: DWord);
var
  TimeBefore : DWord;
begin
  TimeBefore := GetTickCount;
  while ((GetTickCount - TimeBefore) < WaitDelay) do
    Application.ProcessMessages;
end;

O Love

------------------
"I will not abide disobedience!"
 
  • Delphi -- Programmressourcen Beitrag #4
O

O Love

Bekanntes Mitglied
Dabei seit
08.04.1999
Beiträge
2.286
Reaktionspunkte
0
Das bringt definitiv was, auch für das eigene Programm, da ja sicher einige Threads parallel laufen...

Als kleines Beispiel eine Warteschleife, die keinen benachteiligt:
Code:
procedure SysDelay (const WaitDelay: DWord);
var
  TimeBefore : DWord;
begin
  TimeBefore := GetTickCount;
  while ((GetTickCount - TimeBefore) < WaitDelay) do
    Application.ProcessMessages;
end;

O Love

------------------
"I will not abide disobedience!"
 
Thema:

Delphi -- Programmressourcen

ANGEBOTE & SPONSOREN

https://www.mofapower.de/

Statistik des Forums

Themen
213.180
Beiträge
1.579.174
Mitglieder
55.879
Neuestes Mitglied
stonetreck
Oben