PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : WinXP - Wie einem Prozess eine bestimmte "Menge" der CPU-Zeit zuweisen?


Melbourne, FL
2007-03-21, 15:41:50
Hallo,

ich will heute Abend eine ziemlich komplexe Berechnung in Mathcad auf meinem Rechner (Singlecore) laufen lassen und nebenbei Fallout (ich glaube von 1997) spielen. Wie kann ich Mathcad z.B. maximal 90% der CPU-Zeit zuweisen, so dass Fallout die restlichen 10% nutzen kann (sollte für das alte Spiel ja locker reichen). Wenn ich Mathcad voll laufen lasse, laufen andere Anwendungen meist sehr träge...

Alexander

UliBär
2007-03-21, 15:45:56
Setze doch die Priorität einfach auf niedrig oder idle. Dann bekommt Mathcad alle Rechenzeit, die gerade nicht woanders gebraucht wird. Genau so machen es auch die Distributed-Computing-Projekte. Die stören überhaupt nicht.

Absorber
2007-03-21, 15:46:57
Du kannst Prioritäten zuweisen, aber dem Betriebssystem in seine Zeitzuweisungen hineinpfuschen ist meines Wissens nach nicht drin.

Für die Prioritäten:
Den Taskmanager aufrufen wenn beide Programme gestartet sind, (entweder Strg+Alt+Entf oder Rechtsklick auf Taskleiste --> Taskmanager) dann Unter Anwendungen auf das Programm rechtsklicken und auf "Zum Prozess wechseln" gehen. Dann in der Prozessliste für den gewählten Eintrag die Priorität per Rechtsklick und dann Priorität festlegen.

In deinem Fall wäre das also MathCad, und die priorität Niedrig. Dann sollten alle anderen Prozesse bevorzugt werden, das Programm aber weiter laufen.


Edit: Argh. Schon wieder zu spät...

Pr0nstar
2007-03-21, 15:47:15
Wie kann ich Mathcad z.B. maximal 90% der CPU-Zeit zuweisen, so dass Fallout die restlichen 10% nutzen kann (sollte für das alte Spiel ja locker reichen).


Das geht nicht. Du kannst bei Windows nur Prioritätsklassen verteilen. Bestenfalls kommts du damit auf 50:50.

Ein "Real-Time Betriebssystem" (z.B. QNX) kann sowas. Für Linux ist sowas geplant, wenn ich es richtig gelesen + verstanden habe.

Melbourne, FL
2007-03-21, 16:21:08
Hm...das ist doof weil Fallout standardmäßig auch 100% CPU beansprucht...ist halt 2D und läuft dann wahrscheinlich mit mehreren tausend fps. Wenn ich da die Priorität von Mathcad niedriger setze, kriegt das überhaupt keine Rechenzeit ab. Wahrscheinlich bleibt mir nur übrig, beide Prozesse mit gleicher Priorität laufen zu lassen, so dass Mathcad wenigstens 50% abbekommt.

Alexander

UliBär
2007-03-21, 16:25:01
Ach ja, diese alten DOS-Games...
Dann versuche dem Game die maximale CPU-Usage zu begrenzen. Das geht mit Threadmaster ( http://threadmaster.tripod.com/ ). Dort kannst Du dem DOS-Game z. B. maximal 30% CPU-Last erlauben.

Absorber
2007-03-21, 16:38:10
*Bookmark*

Kannte ich noch nicht.

Melbourne, FL
2007-03-21, 16:38:50
Ach ja, diese alten DOS-Games...
Dann versuche dem Game die maximale CPU-Usage zu begrenzen. Das geht mit Threadmaster ( http://threadmaster.tripod.com/ ). Dort kannst Du dem DOS-Game z. B. maximal 30% CPU-Last erlauben.

Super! Das ist genau das, was ich suche. Allerdings scheint es das nur für Win2000 zu geben...funktioniert das auch unter WinXP?

Alexander

Absorber
2007-03-21, 16:40:52
Da steht Windows 2000 und Server 2003. Da ist die Wahrscheinlichkeit dass es unter XP auch läuft sehr hoch. Teste es doch einfach.

UliBär
2007-03-21, 16:42:22
...funktioniert das auch unter WinXP?
Jo!Can ThreadMaster run on NT4 ?
I'm sorry, ThreadMaster can only run on Windows 2000 and above

Melbourne, FL
2007-03-21, 16:48:00
Ok...wird heute Abend ausprobiert...

Alexander

Melbourne, FL
2007-03-26, 14:33:23
Hier mal meine Erfahrungen...es geht leider nicht wie gewünscht. Das Problem ist wohl, dass die CPU-Leistung nicht konstant bei dem eingestellten Prozentwert liegt. Wenn ich 30% einstelle und dann Fallout starte, läuft es anscheinend 0,3s flüssig und 0,7s steht das Bild praktisch. Das mag für irgendwelche Server-Programme sicher sinnvoll sein...für Spiele bringt es aber nichts.

Alexander

Monger
2007-03-26, 15:06:58
Das geht nicht. Du kannst bei Windows nur Prioritätsklassen verteilen. Bestenfalls kommts du damit auf 50:50.

Ein "Real-Time Betriebssystem" (z.B. QNX) kann sowas. Für Linux ist sowas geplant, wenn ich es richtig gelesen + verstanden habe.

Es gibt auch Erweiterungen für Windows, die das können. Wir verwenden in der Firma sowas, um unseren eigenen Echtzeitsteuerungen Konkurrenz zu machen! :D