Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Interrupts abschalten? (https://www.delphipraxis.net/26780-interrupts-abschalten.html)

Borti 29. Jul 2004 11:33


Interrupts abschalten?
 
Hallo!
ich muss ein Delphi-Programm so schnell wie möglich laufen lassen. hierfür wollte ich, damit dieses Programm die ungeteilte Aufmerksamkeit des Prozessors hat, alle anderen Interrupts deaktivieren: Ist das überhaupt mit Delphi möglich?
Gruß,
Borti

neolithos 29. Jul 2004 11:37

Re: Interrupts abschalten?
 
Nein!

Das einzigste was möglich wäre, aber gefährlich, ist die Prozessprior... auf Realtime zu stellen.

Luckie 29. Jul 2004 11:46

Re: Interrupts abschalten?
 
aber davon rate ich wirklcih ba. Denn dann hat dein Prozess eine höhere Priorität wie wichtige Systemprozsse. Selbst der Taskmamnger läuft nur mit der Priorität hoch. Ich glaube kaum, dass das Verhalten deines Programmes dem Benutzer gefallen würde. Optimiere lieber den Code und versuche, wenn mögloch eine Anpassung der Priorität nach oben zu vermeiden. Windows findet bei der Zuteilung der Rechenzeit meist einen guten Kompromiss, den man eigentlich nur ver "schlimmbessern" kann.

Borti 29. Jul 2004 11:47

Re: Interrupts abschalten?
 
Zitat:

Prozessprior... auf Realtime
die prozessorpriorität auf realtime zu stellen?
Was ist damit gemeint?

Luckie 29. Jul 2004 11:50

Re: Interrupts abschalten?
 
Les dir hiermal mein Threading Tutorial durch, dann wird es dir klarer: http://tutorials.luckie-online.de Was ich da mit Threads mache kann man auch mit Prozessen machen -> MSDN-Library durchsuchenSetPriorityClass.

w3seek 29. Jul 2004 11:51

Re: Interrupts abschalten?
 
Zitat:

Zitat von Borti
die prozessorpriorität auf realtime zu stellen?
Was ist damit gemeint?

Ok, wenn du das schon nicht weisst, traue ich dir schon gar nicht zu, zu wissen, was es mit den interrupts auf sich hat... :roll:

Borti 29. Jul 2004 11:52

Re: Interrupts abschalten?
 
ok, mach ich mal mit den tutorials.
aber gint's nicht die möglichkeit alle anderen prozesse anzuhalten ohne die priorität meines programms zu verändern?

neolithos 29. Jul 2004 11:52

Re: Interrupts abschalten?
 
Tschuldigung!

Nicht Processor sondern Process!

Leider habe ich nur MSDN-Library durchsuchenSetThreadPriority gefunden. Wie man die Priorität des Process im allgemeinen Ändern *mmmh*???

Aber ich warne nochmal: dieses Vorgehen ist in einem Multitask OS nicht gerade gut. Der Rechner könnte sich bei Programmierfehlern schnell aufhängen.

EDIT: Man bin ich heute schlecht in der Reschschreibung

w3seek 29. Jul 2004 11:55

Re: Interrupts abschalten?
 
Zitat:

Zitat von Borti
aber gint's nicht die möglichkeit alle anderen prozesse anzuhalten ohne die priorität meines programms zu verändern?

Prozesse kann man nicht anhalten. Man kann lediglich Threads suspendieren. Und wenn ueberhaupt auch nur wenn du die entsprechenden Rechte dazu hast, System-Threads kannst du jedenfalls nicht anhalten. Ausserdem wuerd ich lieber den code deiner Anwendung optimieren, als solche sehr kritischen dinge zu tun...

Luckie 29. Jul 2004 11:59

Re: Interrupts abschalten?
 
Zitat:

Zitat von Borti
aber gint's nicht die möglichkeit alle anderen prozesse anzuhalten ohne die priorität meines programms zu verändern?

Das widerspricht zum einem der Philosphie eines preemtiven Multitasking Betriebssystemes zum anderen ist es sehr gefährlich für die anderen Anwendungen und für die Stabilität des Betriebssystems überhaupt.

Bei einem koorperativen Multitsaking geht das. Dort ist jeder Prozess selber dafür verantwortlich Rechenzeit abzugeben. Und wenn er das nicht tut, dann "verhungern" die anderen Threads. Da waren die anderen Anwendungen im wahrsten Sinne des Wortes auf die Koorparationsbereitschaft der anderen Prozesse angewiesen. da dies wie schon erwähnt gefährlich ist, gibt es ab 32-Bit Window snur das preemptive, also dass das windows die Zuteilung der Rechenzeit übernimmt. Wie man die noch etwas beeinflussen kann, was das für auswirkungen hat und wie es umgesetzt wird, steht in meinem Tutorial.


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:27 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz