Autor Beitrag
Xenar
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 45



BeitragVerfasst: Mo 15.08.05 19:26 
Hallo,

ich habe meine *.exe datei nach dem compilieren erhalten, wenn ich sie ausführe wird sie als prio normal angezeigt im taskmanager. Ich würde das ganze gerne hoch setzen wegen Echzeitgründen meiner Anwendung. Wie mache ich das am einfachsten? Alle anderen Threads meiner Anwendung z.b. unit3 und unti4, sollen auch als Zeitkritisch laufen.
Gibts da ein pauschalbefehl für die ganze Anwendung.

Ciao Xenar :?:


Moderiert von user profile iconMotzi: Topic aus Tutorials verschoben am Mo 15.08.2005 um 19:31
retnyg
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2754

SNES, GB, GBA, CPC, A500, 486/66, P4/3.0HT: NintendOS, AmigaOS, DoS
Delphi 5, Delphi 7
BeitragVerfasst: Mo 15.08.05 19:45 

_________________
es gibt leute, die sind genetisch nicht zum programmieren geschaffen.
in der regel haben diese leute die regel...
LigH
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 239

Win98SE, Win2000SP4
D7
BeitragVerfasst: Mo 15.08.05 19:56 
retnyg - du beschreibst, wie ein Programm ein anderes Programm beeinflussen kann.

Wenn aber das eigene Programm sich selber beeinflussen soll, gibt's einfachere Möglichkeiten:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
if not SetPriorityClass(GetCurrentProcess, HIGH_PRIORITY_CLASS)
then MessageDlg('Could not set priority class to "high".', mtWarning, [mbOK], 0);

if not SetThreadPriority(GetCurrentThread, THREAD_PRIORITY_ABOVE_NORMAL)
then MessageDlg('Could not set thread priority to "above normal".', mtWarning, [mbOK], 0);
Xenar Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 45



BeitragVerfasst: Mo 15.08.05 20:08 
Hi,

zweitere Möglichkeit war genau das was ich gesucht habe, gehe ich recht der Annahme das ich die priorität einmal für threads setze und jeder thread der dann irgendwann gestartet wird hat dann diese prorität.

dann würde ich das in meine formcreate einbauen.
LigH
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 239

Win98SE, Win2000SP4
D7
BeitragVerfasst: Mo 15.08.05 20:15 
Es gibt im Internet mehrere Quellen für die Prioritäten-Tabelle - die Gesamt-Priorität eines Threads setzt sich zusammen aus der Basispriorität des startenden Prozesses, und seiner eigenen Thread-Priorität.

Realtime-Priorität kann grundsätzlich niemals empfohlen werden, weil dadurch sogar die Verwaltung des virtuellen Speichers und die Zeitscheibenverwaltung behindert werden kann! Jeweils "hohe/erhöhte" Priorität sollte meist ausreichen.