SlowDown? Wie sieht die Technik dahinter aus?



  • Hi,

    ich benutze seit geraumer Zeit dieses Programm um alte DOS-Games wie z.B. Wing Commander 1 ordentlich auf meinem 3 GHZ rechner zocken zu können:

    http://newton.pbk-solutions.de/ncu_nbu/slowdown.htm

    Jetzt frage ich mich: Wie sieht die Technik dahinter aus? Wie kann man sowas nach programmieren?

    Wie Funktionieren diese beiden Schiebregler genau? Wozu 2 zum verlangsamen? würde einer nicht reichen?

    Bitte um paar Code-beispielen oder MSDN-Verweise zu diesem Thema.

    Danke im Voraus!



  • Das Ganze funktioniert durch Auslastung der CPU in einem zweiten Thread mit der Priorität THREAD_PRIORITY_TIME_CRITICAL. Dadurch kann dieser Thread sämtliche Rechenzeit für sich Beanspruchen und die anderen Threads müssen warten. Damit nun nicht das gesamte System blockiert wird nach einer bestimmten Zeit der CPU-Auslastung mit Sleep der Thread angehalten und verbraucht keine CPU-Zeit mehr.
    Ich gehe mal davon aus, dass der obere Regler die Länge der Auslastungszyklen angibt und der untere die Dauer der Sleep-Zeit.


Anmelden zum Antworten