keksa.de



.index.
RSS
.tools.
.about you.

.faq.
.Kontakt .



Die letzten drei Änderungen:
_formmailsent
_ddos schutz - abw...
_proslo

Heute haben noch keine Hackversuche
auf keksa.de stattgefunden :)
Translate in English Traduire en français Translate in Russian

Proslo - Process Slowdown GUI





#['KeKs-MoNstA']#

Inhaltsverzeichnis:

  • Erklärung
  • Download
  • Anleitung
  • Beispiel
  • Technisches & Quellcode

  • Kommentar/Wunsch schreiben
  • Hoi :)

    Da Proslo (Process Slowdown vom 28.11.2008) damals so gut ankam und sogar in Foren weiterempfohlen wurde, habe ich eine viel coolere Version mit grafischer Oberfläche entwickelt. Die ist jetzt tausend mal bequemer als die Konsolenversion und kann auch ein wenig mehr :) Aber erst für alle, die Proslo noch garnicht kennen:

    Was ist Proslo?

    Proslo ist ein Programm, das Prozesse abbremst. Wenn nun zum Beispiel der Firefox an irgenwelchen Animationen herumrechnet und dadurch das ganze System blockt, kann man es mit Proslo abbremsen. Es greift auf andere Prozesse zu und baut sozusagen kleine Bremsen ein, sodass diese dann nicht mehr die volle Rechnenleistung verbraucht und andere nicht daran hängen bleiben.

    Das ist parktisch, wenn man bequem im Internet surfen will, während ein Video gerendert wird (was 100%ige CPU-Auslastung bedeutet) oder eine andere lange Rechenaufgabe im Hintergrund läuft. Viele beschweren sich auf öfters, dass Firefox auf einigen Seiten sehr lange rechnet und währenddessen das ganze System blockiert. Und genau für solche Sachen ist Proslo gemacht :)
    Proslo - Process Slowdown GUI

  • Download: proslo_gui.zip (14,1 KB)
  • MD5-Checksum: BEFA88701E7EE524DC6029DA3AD345D4
    SHA1-Checksum: 7BE89A8A1E0BE31C5CE0B956180794E0F19F408D


    Anleitung

    Ach ist das herrlich, denn eigentlich ist das Programm fast schon selbsterklärend :) Man startet es einfach per Doppelklick, dann muss man folgende Infos angeben:

  • Prozessnamen oder Prozess ID
    Das kommt oben in's Eingabefeld. Wenn man sich nicht sicher ist, kann man den Button mit dem Taskmanger daneben anklicken, dann öffnet sich dieser und man kann sich umschauen :)

  • Bremsstärke
    Hier gibt man an um wieviel Prozent der Prozess abgebremst werden soll. Das heißt, wenn man 50% angibt, dann wird der Prozess um 50% abgebremst, läuft also nur noch mit der halben Geschwindigkeit. Wenn man 75% angibt, dann läuft der Prozess nur noch mit ein viertel Geschwindigkeit :)
    Man kann rechts schnell zwischen den 3 Stufen aussuchen (0% heißt, dass es garnicht gebremst wird), oder man wählt per höher/niedriger-Buttons zwischen kleinen Abstufungen :)
    Achja! Mann kann auch mitten drin einfach die Bremsstärke ändern! ;)

    Danach muss man einfach nur noch "Start" drücken! :) Wenn der Prozess nicht gefunden wird oder andere Fehler auftreten, wird links neben dem Start-Button eine Fehlermeldung ausgegeben.
      Update :) Man kann Proslo auch mit Kommandozeilenparameter starten, und zwar kann der erste Parameter den Prozessnamen beinhalten, dann wird dieser Prozess beim Start automatisch um 50% gebremst. Als Beispiel:
      C:\Daten\proggy\mfc\proslo\Release>proslo.exe winamp.exe
      bremst Winamp automatisch um 50% ab.
      Update 2: Ich hab das Programm jetzt so geändert, dass man es mit folgenden Parameter starten kann:
      proslo.exe <Prozessname> -- startet und aktiviert Proslo mit 50% Bremse auf Prozessname
      proslo.exe <Prozessname> <Bremsstufe (0-9)> -- startet und aktiviert Proslo mit Bremsstufe (0=0%, ... , 5=40%, ... , 9=90%) auf Prozessname
      proslo.exe <Programmpfad> -- Startet Programm unter Pfad und Proslo sucht nach Prozessnamen, der der exe-Datei gleicht und bremst diese mit 50%
      proslo.exe <Programmpfad> <Bremsstufe (0-9)> -- Startet Programm unter Pfad und Proslo sucht nach Prozessnamen, der der exe-Datei gleicht und bremst diese mit Bremsstufe (0=0%, ... , 5=40%, ... , 9=90%)

      Was bedeuten die Bremsstufen? Das kleine Problem ist, dass diese Updates nicht von vornerein geplant waren und die Implementierung nun "unschön" ist, aber egal :) Als ich das Programm entwickelt habe, habe ich einzelne Stufen des Abbremsens eingebaut (Stufe 0 bis Stufe 9: 0%, 17%, 20%, 25%, 33%, 40%, 50%, 66%, 75%, 90%) die von vornerein festgelegt sind und nach dem das Programm arbeitet, deswegen muss ich bei der Kommandozeile nach der gewünschten Stufe fragen (also "proslo.exe winamp.exe 0" für 0% bremsen, oder "proslo.exe winamp.exe 8" für 75% bremsen) und nicht nach der Prozentzahl.
    Außerdem kann man jetzt beliebig Proslo beenden, ohne, dass der Zielprozess einfriert und auch mitten im Vorgang die Bremsstärke anpassen (wie bereits erwähnt).

    Proslo - Process Slowdown GUI Erklärung


    Man man, irgendwie gibt es mehr auch nicht zu sagen :) Hier nochmal ein Beispiel mit Firefox (im Programm selber ist auch noch ein Tutorial mit Bildern):

    Beispiel: Firefox abbremsen

    Erst mal eine kleine Bemerkung: ich will hier keine negative Aussage über den Firefox machen, es ist hervorragende Software; nur hat es sich so ergeben, dass Proslo oft für Firefox verwendet wird ;)

    Mal angenommen der Firefox hakt an irgend einer überladenen Seite und rechnet wie bescheuert daran herum. Und wir sind arme Kinder, die keine Geld für nen Quadcore haben und deswegen blockiert es das ganze System und wir können kaum damit arbeiten. Dann kann man schnell Proslo starten und den Firefox abbremsen.

    Wir starten Proslo und müssen den prozessnamen eingeben. Mal angenommen wir wissen den nicht, dann klicken wir auf das Taskmanager-Knöpfchen rechts neben dem prozess-Eingabefeld und schauen im Taskmanager nach dem Firefox-Prozess. Am besten man sortiert die List unter der dem register "Prozesse" nach CPU-Auslastung. Dann sehen wir, dass der Prozess des Firefox "firefox.exe" heißt. Das geben wir in unser Eingabefeld in proslo ein.

    Nun stellen wir die Bremsstärke ein. Am Anfang ist eigentlich immer 50% zu empfehlen, man kann dies dann später auch noch anpassen, also die Bremsstärke erhöhen oder erniedrigen.

    Die höchste Bremskraft ist 90%. Tests mit Spielen haben gezeigt, dass bei 90% schon kleine Ruckler entstehen, das hat was mit dem kurzen Einfrieren zu tun, deswegen ist hier ein Limit gesetzt.

    So, nun muss man einfach auf "Start" klicken :) Man kann jetzt noch die Bremsstärke erhöhen oder erniedrigen, oder sie gar ganz ausmachen. Man kann Proslo stoppen, damit es die Finger vom Prozess lässt, oder es einfach ganz ausmachen (Exit-Button!), der Zielprozess wird danach wieder ungebremst weiterlaufen.

    Hmmh, das war's auch schon :D

    Prozesse abbremsen

    Wie funktioniert das also technisch? Nun ja, da es in der GUI ein ziemliches Durcheinander an Code ist, sollte man sich den Technik-Abschnitt der alten (Konsolen-) Version von Proslo ansehen, dort ist der Quellcode anschaulicher und technisch unterscheidet es sich kaum von der GUI Version.

    keksa.de


    #['KeKs-MoNstA']#


    Dein Kommentar zum Text:


    Kommentar von Phyber.Apex:

    HiHi,
    find ich super das du jetzt auch ne GUI gebastelt hast. Hab das Tool schon vorher gemocht und jetzt...tja jetzt liebe ich es =D
    DANKE =D


    :D Haha, cool :D Und SCHON hat sich die Arbeit gelohnt ;) Keine halbe Stunde nach dem Upload :D Aber wenn jemandem noch irgendwas einfällt, dann schreibt es mir!



    Kommentar von 29:

    Nene, DAS geht nicht! :)
    hehe lustig das ding.
    vill. noch eine kill funktion.


    Haha, ich hab mich schon gefragt, ob jemand DAS ausprobieren würde ;) Beim Testen ist jemandem aufgefallen, dass das ganze System einfriert, wenn man DAS ausprobiert :) Deswegen hab ich ne Sperre reingebastelt, die DAS nicht zulässt ;)

    hmm eine blockade die alle processe erst garnicht auf 100 bringt sondern max. 90% damit das proslo im hintergrund ungestört arbeitet
    ah genau hintergrund das ding hat keine minimier function.
    MFG


    Ja, eine Minimier-Funktion ist gut, mir ist das Fensterchen mit der Zeit auch auf'n Senker gegangen. Hab's jetzt eingebaut, danke! :)
    Das mit der Hintergrund-Funktion mache ich nicht, weil ich finde schon, dass man kontrollieren sollte, welche Prozese gebremst werden. Außerdem müsste man eine Art "Intelligenz" entwickeln, die herausfindet welcher Prozess gebremst werden soll und welcher nicht. Denn wenn ein Prozess 99%ige Auslastung verursacht ist es leicht, aber wenn 10 Prozesse jeweils nur 10% verwenden wird's haarig. Ist aber dennoch eine gute Idee :)



    Kommentar von 28398 / csde_rats:

    Schönes Tool. Ein eigener kleiner Taskmanager wäre noch nett, wo nur die CPU Auslastung, Imagename und PID angezeigt werden. Per Doppelklick kann man dann einfach einen Prozess auswählen, und das Fenster schließt sich automatisch und die Daten werden automatisch eingetragen. Die Herausforderung daran: Die CPU Last in Prozent angeben ;)

    Ja, das wäre eigentlich eine coole Sache, das stimmt schon. Aber im Moment häng ich voll in anderen Sachen drinne, vielleicht werde ich das irgendwann mal einbauen, wenn ich etwas zeit für Luxus habe :) Danke



    Kommentar von Blubbablubb:

    In welcher Sprache ist denn das Tool geschrieben?
    MfG Blubbablubb


    Ich habe es unter VC++ 6.0 mit Hilfe von MFC entwickelt.



    Kommentar von PhiArc / csde_rats:

    Ich wollte nur mal drauf hinweisen, dass es NtResumeProcess und NtSuspendProcess erst ab XP gibt.
    Unter Windows 2000 gibt es aber schon NtResumeThread und NtSuspendThread, sodass es mit wenigen Zeilen Code kein Problem ist auch Win2k zu unterstützen. Gerade weil es ja ein Tool für Oldtimerspiele ist, ist es meiner Meinung nach auch wichtig die etwas älteren Betriebssysteme zu unterstützen.
    Unter 95/98 (Also alles was kein NT ist oder NT <= 4.0) gibt es die Nt*-API ja eh noch nicht.






    Kommentar von Megalomon:

    Wäre es auch möglich weniger als 17% zuzuteilen?

    Hi :) Also das geht nicht, weil das Ziel-Programm wird immer für ein paar Millisekündchen eingefrohren und dann wieder aufgetaut. Und bei 5% (oder generell unter 17%) war es immer das Problem, dass das Ziel-Programm dann zu lange eingefrohren war, sodass man es dann als unangenehmes Ruckeln gemerkt hat. Ich hab es damals auch mit Spielen getestet ;D
    Ich würd dir empfehlen dein Game vielleicht in einer Virtuellen Maschine laufen zu lassen? Anner Kompatibilität (Rechtsklick auf Proggie -> Kompabilität) hast du schon rumgeschraubt, nehme ich an? Es muss da irgend eine vernünftige Lösung geben :)






  • RSS-Feed anfordern Twitter-Gelaber reinziehen Twitter RSS-Feed anfordern
    Share on Facebook Bei 'digg' bookmarken Bei 'del.icio.us' bookmarken Bei 'technorati' bookmarken Bei 'stumbleupon' bookmarken Bei 'mister-wong' bookmarken Bei 'NewsTube' bookmarken Bei 'folkd' bookmarken Bei 'WebNews' bookmarken Bei 'Google' bookmarken Bei 'Linkarena' bookmarken

    Diese Webseite und deren Inhalte sind unter einer Creative Commons Attribution-ShareAlike 2.0 Germany License lizenziert Sämtliche Software und deren Quellcodes dieser Seite sind unter der GNU GENERAL PUBLIC LICENSE lizensiert
    Kontakt - Datenschutzbestimmungen - Impressum - Für die Presse