Deutsch
Forum

Prozespriorität setzen

 

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  
 



Kurze Antwort...
So:
KompilierenMarkierenSeparieren
Def GetCurrentProcess(0) !"KERNEL32","GetCurrentProcess"
Def GetPriorityClass(1) !"KERNEL32","GetPriorityClass"
Def SetPriorityClass(2) !"KERNEL32","SetPriorityClass"
Windowtitle "Priorität setzen"
Windowstyle 31
Window 0,0-640,440
SetPriorityClass(GetCurrentProcess(),$80)

While 0=0

    waitinput

wend

 
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.
 
26.08.2006  
 




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.[...] 
 
27.08.2006  
 




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.
 
27.08.2006  
 



[...]  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...
 
27.08.2006  
 




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  
 




Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

3.727 Betrachtungen

Unbenanntvor 0 min.
E.T.10.11.2011

Themeninformationen



Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie