| |
|
|
Jac de Lad | Hallöle,
kurze Frage: Wie kann ich die Prozesspriorität eines Profanprogramms ändern?
Jac |
|
|
| Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE) Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP | 26.08.2006 ▲ |
|
|
|
|
| |
|
| |
|
|
|
| ...um unter NT-basierenden Systemen die Priorität auf Echtzeit ($100) zu setzen, mußt du das Privileg SeIncreaseBasePriority besitzen und dies aktivieren. Vorsicht mit dem Ändern von Prioritäten! Einige APIs reagieren sehr böse auf solche Spielereien man sollte genau wissen, was man tut. |
|
|
| |
|
|
|
Jac de Lad | Danke! |
|
|
| Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE) Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP | 26.08.2006 ▲ |
|
|
|
|
Jac de Lad | Hm, und was bedeuten die folgenden Konstanten und wann und wo setze ich sie ein?
THREAD_BASE_PRIORITY_LOWRT = 15; { value that gets a thread to LowRealtime-1 } THREAD_BASE_PRIORITY_MAX = 2; { maximum thread base priority boost } THREAD_BASE_PRIORITY_MIN = -2; { minimum thread base priority boost } THREAD_BASE_PRIORITY_IDLE = -15; { value that gets a thread to idle }
NORMAL_PRIORITY_CLASS = $20; IDLE_PRIORITY_CLASS = $40; HIGH_PRIORITY_CLASS = $80; REALTIME_PRIORITY_CLASS = $100; Ich nehme mal an, die sind für die von Andreas beschriebene API
THREAD_PRIORITY_LOWEST = ~THREAD_BASE_PRIORITY_MIN; THREAD_PRIORITY_BELOW_NORMAL = ~THREAD_PRIORITY_LOWEST + 1; THREAD_PRIORITY_NORMAL = 0; THREAD_PRIORITY_HIGHEST = ~THREAD_BASE_PRIORITY_MAX; THREAD_PRIORITY_ABOVE_NORMAL = ~THREAD_PRIORITY_HIGHEST - 1; THREAD_PRIORITY_ERROR_RETURN = ~MAXLONG;
THREAD_PRIORITY_TIME_CRITICAL = ~THREAD_BASE_PRIORITY_LOWRT; THREAD_PRIORITY_IDLE = ~THREAD_BASE_PRIORITY_IDLE;
Jac |
|
|
| Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE) Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP | 27.08.2006 ▲ |
|
|
|
|
| Du wolltest die Priorität deines Prozesses ändern, diese Konstanten beziehen sich auf die Priorität einzelner Threads - es kann ja möglich sein, daß eine Thread einer Anwendung unbedingt mehr Prozessorzeit bekommen soll, als andere.[...] |
|
|
| |
|
|
|
Jörg Sellmeyer | [quote:c67332c62c=Andreas Hötker]Vorsicht mit dem Ändern von Prioritäten! Einige APIs reagieren sehr böse auf solche Spielereien [/quote:c67332c62c] Und einige Anwender auch! Ich würde sowas eher nicht einbauen. Gerade in Windows XP hat der Anwender selber die Möglichkeit, das einzustellen. Außerdem ist der PC meistens sowieso unterfordert. Wenn aber ein Programm ungefragt seine Priorität ändert und mir dadurch z.B. ein Brennvorgang abschmiert....
Hast Du die Konstanten schonmal in der Win32.hlp gesucht? Such auch mal nach SetPriorityClass. Ist natürlich alles auf Englisch aber wohl zu durchschauen. Ich habs allerdings auch nie benötigt. Btw. Für so etwas wie Dein Digicam-Assistenten würde ich es nicht benutzen! Das Ding liest von USB und ist darum naturgemäß langsamer als wenn es die Dateien von der Platte liest. Daran ändert auch diePriorität nix.
Gruß Jörg |
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 27.08.2006 ▲ |
|
|
|
|
| Bei Prioritäten muß man sehr genau aufpassen, was man da tut. Programmiert man zum Beispiel im Sicherheitsbereich, funktionieren bei zu höher Priorität manche APIs nicht mehr und Rechner oder Programm stürzt ab. |
|
|
| |
|
|
|
| [...] bietet die Möglichkeit Prioritäten auch auf nicht-NT Betriebsystemen (95/98/ME) zu ändern und auszulesen. Da siehst du auch die Bedeutung deiner Konstanten... |
|
|
| |
|
|
|
Jac de Lad | @Andreas: Danke. Jetzt ist (fast) alles klar.
@Jörg: Hm, ich hatte gedacht, dass eine Funktion, die zum Beispiel die Priorität der Übertragung runtersetzt sinnvoll ist, damit das dann schön im Hintergrund laufen kann, weil Profanprogramme von sich aus schon recht prozessorlastig sind. |
|
|
| Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE) Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP | 27.08.2006 ▲ |
|
|
|
|
Jörg Sellmeyer | [quote:a8897376e1=Jacob Liebeck]@Andreas: Danke. Jetzt ist (fast) alles klar.
@Jörg: Hm, ich hatte gedacht, dass eine Funktion, die zum Beispiel die Priorität der Übertragung runtersetzt sinnvoll ist, damit das dann schön im Hintergrund laufen kann, weil Profanprogramme von sich aus schon recht prozessorlastig sind.[/quote:a8897376e1] Wie gesagt - immer schön den Anwender fragen, b.z.w. ihn entscheiden lassen. |
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 27.08.2006 ▲ |
|
|
|
|
Jac de Lad | Hätte ich sowieso gemacht! |
|
|
| Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE) Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP | 28.08.2006 ▲ |
|
|
|