Is it possible to "park" a process if all its windows are minimized?

Started by ccl13, January 05, 2013, 06:12:16 PM

Previous topic - Next topic

ccl13

Hi everyone,

I have a very old program here on my laptop, which is a data processing tool with graphing ability. This piece of software is quite old, that on Win7 even when it is minimized, it still tries to render the graph, results in a 80% CPU utilization of one core (just thankful it is not multi-thread).

Is it possible that Process Lasso will enable me to setup a rule for this program, so that when all its windows are minimized, a hard-throttle like 5% will be automatically applied to it? And when I have it brought to front, it will be best the throttling will be lifted automatically too.


Cheers!

Jeremy Collake

What software is it, if you can mention? I ask because it depends on the software. Even if it isn't doing enough to barely measure, it could have hooks into other parts of the system, or NEED to be responsive when it is actually called upon.
Software Engineer. Bitsum LLC.

nikkil

You're never a loser until you quit trying.

tomasz86

I am very sorry for reviving a very old thread, but I have exactly the same problem and have not been able to find any viable solution so far.

In my case, the software in question are old games, such as Diablo 1 or 2. When run, these games always peg one CPU core at 100%, even when minimized in the background. This results in the CPU always staying at its maximum frequency and unnecessarily using power.

Even applying the "Lowest" hard throttle to the game process makes the CPU reduce its frequency normally. When hard throttle is applied, the game itself stutters, but that is not the point. I would be interested to simply apply the hard throttle automatically when the process is in the background, and disable it when it comes back to the foreground. Would such an automatic policy be possible with Process Lasso?

edkiefer

Quote from: tomasz86 on January 20, 2019, 03:26:46 AM
I am very sorry for reviving a very old thread, but I have exactly the same problem and have not been able to find any viable solution so far.

In my case, the software in question are old games, such as Diablo 1 or 2. When run, these games always peg one CPU core at 100%, even when minimized in the background. This results in the CPU always staying at its maximum frequency and unnecessarily using power.

Even applying the "Lowest" hard throttle to the game process makes the CPU reduce its frequency normally. When hard throttle is applied, the game itself stutters, but that is not the point. I would be interested to simply apply the hard throttle automatically when the process is in the background, and disable it when it comes back to the foreground. Would such an automatic policy be possible with Process Lasso?
Hi, This is an issue with the game rendering pipeline being all on one core, many games or applications from 1990-200x were programmed when only single cores were available, but even after that many games use one core to do all rendering, only in last 10 or so yrs things are changing a bit.
Now, what can be done about this or help?
Two things come to mind you could make a power plan profile with max processor state to something below 100% (say for test use power saver and change to 75% max) than in PL link the game to application power plan= power saver.
The downside of this is it is a global thing, so the whole system will run at this lower clock as long as the game is running.

A cleaner option would be to try a frame cap on the actual game, so for example run MSI AB+ RTSS and in RTSS and your game to list then enter a frame limit value.
Depending on your monitor refresh rate 60, 100, 144hz pic a lower value, so if 144hz, try 60 if 60 try 30 or 45.
That should work and will only affect that game
Bitsum QA Engineer

tomasz86

Quote from: edkiefer on January 20, 2019, 08:40:09 AM
Two things come to mind you could make a power plan profile with max processor state to something below 100% (say for test use power saver and change to 75% max) than in PL link the game to application power plan= power saver.
The downside of this is it is a global thing, so the whole system will run at this lower clock as long as the game is running.

That is an option, but what I like to do is to keep the games minimized basically all the time, and do other things while they sit in the background. Unfortunately, this means that they still keep pegging the CPU, despite not being "used". I still need the CPU power for other tasks (just not all the time!), so limiting it globally is not really a viable solution for me. I do use IdleSaver with the CPU limited to the lowest frequency, so at least I can save some power in that state.


Quote from: edkiefer on January 20, 2019, 08:40:09 AM
A cleaner option would be to try a frame cap on the actual game, so for example run MSI AB+ RTSS and in RTSS and your game to list then enter a frame limit value.
Depending on your monitor refresh rate 60, 100, 144hz pic a lower value, so if 144hz, try 60 if 60 try 30 or 45.
That should work and will only affect that game

Diablo 2 is actually limited to 25 fps, and Diablo 1 to 20 fps (and 30-60 fps with the unofficial HD mod). The problem still persists nevertheless. I am not sure whether these are related to the CPU use. As a matter of fact, for Diablo 2 there exists an unofficial patch that fixes the issue (http://forum.europebattle.net/threads/diablo-ii-cpu-bug-fix.540620/) but there is nothing like that for Diablo 1 (and probably many other old games / applications). I do not know what the patch exactly does though.