CPU-Auslastung steigt außergewöhnlich stark

  • Hallo,

    wollte mal nachfragen, ob diese Beobachtung nur von mir gemacht wurde, oder ob es sich hierbei um ein generelles Phänomen handelt.
    Folgendes Szenario:
    Win XP neu gestartet, DFÜ-Verbindung hergestellt, The Bat! gestartet, Strg+N gedrückt.
    Als nächstes die Header-Einträge To: und Subject: ausgefüllt, in den Textbereich gewechselt und mehrfach (anfangs langsam, dann schnell aufeinander folgend) über einen Hotkey (F10, F11 oder F12) eine Schnellvorlage aktiviert, die in der Nachricht via %GMP_RunCmd() eine externe Programmausgabe zurückgibt.
    Im Windows Task-Manager steigt dann die CPU-Auslastung von 2-4 % zuvor auf 26 bis 57 % an, bei mehreren parallel laufenden Prozessen (firefox.exe, TextPad.exe usw.) erhöht sich dieser Wert schnell auf über 80 %. Mein Notebook-System ist ein P4M 1,6 GHz und mit 256 MB RAM bestückt, insofern wundert es mich ein wenig, dass allein durch das Verfassen einer neuen E-Mail in TB! es passieren kann, dass die Lüfter anspringen ...

    Mfg,

    Mikka

    // edit:
    Ich vergaß zu erwähnen, dass das Ganze mit der Version 0.61 zu beobachten ist.

    Einmal editiert, zuletzt von Mikka (3. Mai 2004 um 15:42)

  • Beim Makro GMP_RunCmd kommt es in erster Linie darauf an wie viel Rechenleistung das damit gestartete Programm braucht und wie viele Daten ausgegeben werden.

    Während in der Konsole beispielsweise "dir C:\" nur 8% CPU-Auslastung produziert sind es bei "dir C:\Windows\System32\" bereits um die 80% (P4 1.8 GHz).

    Parallel laufende Programme sollten dabei aber nicht stören (außer sie verbrauchen selbst Rechenleistung). Ich habe ca. 10 Programme für Testzwecke laufen lassen (Word, Excel, Firefox, ...), das hat am obigen Resultat nichts geändert.

    Führe das Programm, das du im GMP_RunCmd-Makros ausführst einmal in der Konsole aus. Dort wird vermutlich die gleiche Rechenleistung benötigen.

    GMP_RunCmd macht nichts anderes als eine Konsole zu starten, das betreffende Programm auszuführen und auf dessen Ende zu warten, die Konsole zu schließen und die ausgegebenen Daten an The Bat! zu übergeben. Zusätzlich werden die Daten noch von ASCII in ANSI konvertiert, falls nichts anderes angegeben wurde. Diese Schritte brauchen natürlich auch noch etwas Rechenleistung.

    Wenn du ein DOS-Programm mehrmals hintereinander ausführen willst, ist eine BAT-Datei vielleicht einfacher und die Konsole muss nicht jedes mal neu gestartet werden.