Prozessorleistung zuteilen



  • Hallo,

    ich habe ein bereits fertiges Programm, welches Umrechnungen vornimmt.
    Mein Problem ist, wenn ich diese Programm starte, belegt es immer 100 Prozent meiner Prozessorleistung und es kann nichts anderes nebenbei laufen. Zum Beispiel ist es dann nicht möglich das mein Kollege bei mir drucken kann.
    Kann ich diesem Programm jetzt sagen wieviel Prozessorleistung es nutzen darf? Wichtig ist das es sich um ein bereits fertiges Programm handelt, also kann ich am Code selber nichts mehr ändern.

    Ich hoffe mir kann jemand helfen

    Vielen Dank schon mal im voraus



  • Wie lange dauert denn die Ausführung des Programms?

    (Hat aber nix mit MFC zutun, daher verschoben)!



  • wenn du winxp/2000 hast dann starte es einfach mit einer niedrigen priority (z.B. /low)



  • Hi,

    oder anders - Du musst die Thread-Priority des programms im Betriebssystem ändern.

    cu

    P84



  • äh *hüstel* kann es sein, dass programme die soviel load ziehen
    unter umständen doch etwas schlampig geschrieben sind ?



  • Das Programm dauert mehrer Stunden.
    Das Mit der niedrigeren Priotrität habe ich in der zwischenzeit auch schon rausgefunden.Mit der niedrigen Prioriät kann mein Kollege jetzt auch drucken und ich kann mit word, etc nebenbei (wenn auch langsam) arbeiten.aber es hätte ja sein können das ich dem Programm sagen kann: du bekommst nur 60% CPU Leistung.

    Schlampig geschrieben ist es auf jeden Fall!!!! (Ich wars aber nicht)



  • Du hast nur eine CHance wenn du das Programm selbst geschrieben hast. Dann muss das Programm selbst die eigene CPU - Auslastung abfragen und diese selbst mit sleep(x) anpassen / selbstregulieren

    ..es gibt ein Beitrag zur CPU - Auslastungsermittlung hier, welche glaub ich den leerlaufprozess abfragt.. Du müstest so nur nach dein eigenen Prozess fragen und selbst regulöieren..

    ist der einzigste weg.. selbstregulierung..

    mfg



  • seti@home macht es so: es gibt sich die niedrigste prioritaet die geht -> das resultat ist es verdraengt nur noch den leerlaufprozess und ersetzt diesen quasi...



  • Ja ist richtig.. so sollte es theoretisch auch sein, aber im Endeffekt ist die cpu bei 100% Auslastung, welche sie ja mit nem Leerlauf auch ist. Dieser macht aber keine Rechenaktionen, sondern NOP (no operation) - Assembler Befehle, wechle superschnell gehen und dem System die Reaktionsfähigkeit zu 100% gewährleisten..

    100% Rechenlast ist träger als min. 40% NOP ..

    mfg



  • Danke!


Anmelden zum Antworten