AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Prioritäten setzen "SetPriorityClass"
Thema durchsuchen
Ansicht
Themen-Optionen

Prioritäten setzen "SetPriorityClass"

Offene Frage von "rlossin"
Ein Thema von orion3000 · begonnen am 18. Okt 2004 · letzter Beitrag vom 3. Feb 2006
Antwort Antwort
Seite 1 von 2  1 2      
orion3000

Registriert seit: 28. Aug 2003
Ort: Betzdorf
63 Beiträge
 
Delphi 4 Standard
 
#1

Prioritäten setzen "SetPriorityClass"

  Alt 18. Okt 2004, 11:37
Hallo zusammen,

eine Frage wann würdet Ihr Prioritäten in euren Projekten setzten?

ich habe folgenden Code in meine Anwendung in Formcreate
gelegt.

Delphi-Quellcode:
SetPriorityClass(GetCurrentProcess, REALTIME_PRIORITY_CLASS);
SetThreadPriority(GetCurrentThread, THREAD_PRIORITY_TIME_CRITICAL);
Da meine Anwendung das System sehr belastet.

und dann in Formclose

Delphi-Quellcode:
SetPriorityClass(GetCurrentProcess, NORMAL_PRIORITY_CLASS); SetThreadPriority(GetCurrentThread, THREAD_PRIORITY_NORMAL);

SetPriorityClass(GetCurrentProcess, NORMAL_PRIORITY_CLASS); SetThreadPriority(GetCurrentThread, THREAD_PRIORITY_NORMAL);
bingt das überhaupt etwas?

Ich bin mir einfach nicht sicher ....

Gruß
Orion3000
  Mit Zitat antworten Zitat
Dax
(Gast)

n/a Beiträge
 
#2

Re: Prioritäten setzen "SetPriorityClass"

  Alt 18. Okt 2004, 11:40
Ich würde in meinen Projekten immer dann Priorities setzten, wenn die Standardeinstellung nicht den Nutzen bringt, den sie sollte.

BtW: Bist du dir sicher, dass diese Frage in die Codelib gehört?
  Mit Zitat antworten Zitat
Tubos

Registriert seit: 25. Feb 2004
Ort: Yspertal (Niederösterreich)
1.014 Beiträge
 
Delphi 7 Personal
 
#3

Re: Prioritäten setzen "SetPriorityClass"

  Alt 18. Okt 2004, 21:46
Zitat:
ich habe folgenden Code in meine Anwendung in Formcreate
gelegt.


Delphi-Quellcode:
SetPriorityClass(GetCurrentProcess, REALTIME_PRIORITY_CLASS);
SetThreadPriority(GetCurrentThread, THREAD_PRIORITY_TIME_CRITICAL);

Da meine Anwendung das System sehr belastet.
Was erwartest du dir von der Änderung?
Dass das Programm schneller läuft? Da wird es kaum einen Unterschied geben wenn keine anderen Programm laufen.
Dass das System weniger ausgelastet wird? Genau das wird nicht passieren.

Wenn du sagst was du dir davon erwartest kann dir jemand sagen ob es was bringt oder nicht.
Lukas
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Prioritäten setzen "SetPriorityClass"

  Alt 18. Okt 2004, 22:04
Dir ist bewußt, dass du mit diesen Prioritäten dein gesamten System lahmlegen und unbrauchbar machen kannst? Selbst Systemprozesse laufen mit einer geringeren Priorität als REALTIME_PRIORITY_CLASS. Es kann dir passieren, dass du noch nicht mal mehr den TaskManager öffnen kannst.

Wenn es nötig erscheint zu solchen Mitteln zu greifen, dann sollte man sein Konzept noch mal überdenken. In den seltensten Fällen ist es nötig die Prozesspriorität anzuheben.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
18. Okt 2004, 22:05
Dieses Thema wurde von "Luckie" von "Neuen Beitrag zur Code-Library hinzufügen" nach "Windows API" verschoben.
Falsche Sparte.
orion3000

Registriert seit: 28. Aug 2003
Ort: Betzdorf
63 Beiträge
 
Delphi 4 Standard
 
#6

Re: Prioritäten setzen "SetPriorityClass"

  Alt 19. Okt 2004, 12:12
Hallo Zusammen,

einmal Danke für Eure Hilfe!

Ich hatte da schon eine leise Ahnung daß dies nicht so funzt wie ich zuerst dachte.

@Tubos
Dass das System weniger ausgelastet wird? Genau das wird nicht passieren

Genau das hatte ich eigentlich gehofft, bin aber schon selbst darauf gekommen das dies nicht funktioniert!

Vieleicht erkläre ich einfach mal ein Prob:

Ich starte meine Fibuanwendung und dabei werden eine oder mehr Anwendungen gestartet das funktioniert auch ganz gut.

Nun werden die gestarteten Progs. nicht beendet sondern der Fokus auf meine Anwendung gelegt und irgendwelche Einträge in einer Datenbank geändert oder hinzugefügt usw.

Dabei wird dann mein System dermassen ausgelutscht das ich die Anwendungen beenden muß und erst nachdem ich meine Anwendung beendet habe und neu gestartet geht alles wieder ganz normal.

Ich bin schon soweit gekommen das dies auf anderen Rechnern genauso abläuft dabei habe ich nicht das gefühl das es an Windows sondern an meinem Prog. liegen muß!

Starte ich die Fibbu , Kassenanwendung ohne ein anderes Programm zu starten dann geht alles einwandfrei nur eben wenn ich andere Programme dazustarte gibt es ärger.

Gruß
Orion3000
  Mit Zitat antworten Zitat
rlossin

Registriert seit: 2. Feb 2006
4 Beiträge
 
#7

Re: Prioritäten setzen "SetPriorityClass"

  Alt 2. Feb 2006, 14:40
Hallo,

kann man auch für fremde Prozesse die Priorität ändern? Wenn das möglich wäre, wäre das extrem gut und wichtig für mich.

Ich möchte mit meinem Programm nämlich prüfen, ob der Windows Media- Player läuft und diesem dann eine etwas höhere Priorität zuweisen. Habt ihr da ein paar Codebeispiele oder Vorschläge?

Vielen Dank!

Roman
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#8

Re: Prioritäten setzen "SetPriorityClass"

  Alt 2. Feb 2006, 14:51
Wie man der Dokumentation entnehmen kann erwartet SetPriorityClass als ersten Parameter die ProcessID.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
rlossin

Registriert seit: 2. Feb 2006
4 Beiträge
 
#9

Re: Prioritäten setzen "SetPriorityClass"

  Alt 2. Feb 2006, 15:23
Okay, danke erst einmal für die Antwort...
Nun ist die Frage: Wie finde ich die ID eines fremden Prozesses heraus? Ich weiss nur den Pfad, wo die Datei liegt, ich weiss nicht, ob sie läuft oder nicht. Wie finde ich dann die ID heraus?

Gruß

Roman
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#10

Re: Prioritäten setzen "SetPriorityClass"

  Alt 2. Feb 2006, 15:26
Entweder mit Hier im Forum suchenEnumProcesses oder einem Hier im Forum suchenSnapshot.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 18:34 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