Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi CPU und RAM reservieren? (https://www.delphipraxis.net/42167-cpu-und-ram-reservieren.html)

Gregg 14. Mär 2005 21:59


CPU und RAM reservieren?
 
Hallo,
hab malne Frage:
Und zwar schreib ich grad nen Mediaplayer, der (logisch) Musik abspielt.
Wenn ich z.Bsp. ein Brennprogramm laufen hab, nimmt des mir sämtliche Ressourcen (CPU, Arbeitsspeicher) weg und mein Mediaplayer klingt echt besch..eiden. Könnt ihr auch mal ausprobiern: der Windoof Mediaplayer macht ganau den selben Mist.

Also gibt es eine Möglichkeit sich Ressourcen zu sichern und so zu belegen, dass sie auch bei Nichtbenutzung trotzdem für diese Anwendung reserviert bleiben?

thx @ all :roteyes:

atreju2oo0 14. Mär 2005 22:36

Re: CPU und RAM reservieren?
 
Wenn Du das abspielen in einen Thread auslagerst kannst Du diesem eine Priorität zuweisen....
(Wie bei Winamp)
ABER:

1) Ich will lieber nen funktionierenden Rohling als in der Zeit Musik hören!
2) Wenn der Rechner nicht ausgelastet ist habe ich auch keine Probleme mit dem Sound des WMP.

Muetze1 14. Mär 2005 22:37

Re: CPU und RAM reservieren?
 
Moin!

Ehrlich gesagt macht mein MediaPlayer oder Winamp keine Mucken wenn ich brenne - ich kann nebenbei sogar DVD schauen ...

Und solche Reservierungen sind eigentlich nicht möglich, da das System dynamisch versucht jedem Prozess gerecht zu werden. Du kannst dir eine höhere Priorität geben, was dann aber wiederrum Nachteile bringt (desto weniger hat dein Brennprogramm -> Folge: Buffer Underrun)...

Daher ist eine Änderung deiner eigenen Hauptpriorität nicht zu empfehlen und davon solltest du auch in Zukunft absehen. Wenn dein System so komisch reagiert, dann liegt es entweder an dem Brennprogramm oder schlecht konfigurierter Hardware (kein DMA Modus?).

MfG
Muetze1

Luckie 14. Mär 2005 22:38

Re: CPU und RAM reservieren?
 
So, wie du dir das vorstellst, wird das nicht gehen. Windows hat ein preemptives Multitasking und kein koorporatives wie Wiondows 3.11. Das heißt, Windows teilt die Rechnezeit zu und das ist auch gut so, sonst könnte sich jede anwendung so viel Rechnezeit nehmen wie sie lustig wäre und somit das ganze System lahm legen. Du kannst höchstens die Priorität deines Prozesses erhöhen und somit Windows sagen, dass du gerne mehr Rechnezeit hättest bzw. genauer, gerne mehr Zeitscheiben für deinen Prozess hättest. aber da würde ich nur in wirklichen Notfällen was ändern, da Windows bei der Zuteilung von Rechnezeit schon ziemlich optimiert ist. Jedes Reinpfuschen, kann sich eigentlich nur negativ auf die gesamt Performance des Systems auswirken.

Und eine Brennprogramm braucht eben diese Systemressourcen. Und wenn du es in den Hintergrund drängst, weil du für deinem Prozess mehr Rechenzeit forderst, kann es passieren, dass du die CD nachher wegschmeißen kannst, weil zu viele BufferUnderruns aufgetreten sind.

Allerdings habe ich so was bei Nero noch nicht erlebt. Guck mal im Taskmanager mit was für einer Priorität der Prozess deines Brennprogramms läuft. Eventuell solltest du auch mal gucken, ob DMA (DirectMemory Access) für die IDE Kontroller aktiviert ist. Normalerweise sollte die CPU beim Brennen nicht mehr zu tun haben, als sonst. Läuft die Datenübertragung aber noch, unnötigerweise, über die CPU kann es durch aus zu den von dir beschriebenen Symptomen kommen.

Gregg 15. Mär 2005 19:32

Re: CPU und RAM reservieren?
 
wow
danke für so viele Antworten.
Ich hatt doch echt mein CD Brenner auf PIO gestellt :oops:
Naja jetzt gehts

Noch 2 Fragen:
-Wie kann ich aus meinem Programm die Priorität erhöhen und
-was hat dann der stack für einen Sinn?

Tubos 15. Mär 2005 19:45

Re: CPU und RAM reservieren?
 
Die erste Frage kann dir die Forumssuche beantworten.

Hier gilt übrigens die Regel: Für jede Frage einen neuen Thread aufmachen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:40 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