Foreground Boost ineffective For Some Programs

Started by MMcVeigh, September 21, 2009, 01:55:13 PM

Previous topic - Next topic

MMcVeigh

In topic "Should the Thread and Modules tabs be removed?" I mentioned that foreground boost doesn't work all the time.  I have started this thread to fully discuss the issue.

I have noticed that with foreground boost ON, some processes with windows aren't boosted when they are truly foreground.  This seems to happen especially when the task is working the CPU hard.  For instance, I use IZarc to create zip files.  In some cases the file list is large and takes IZarc a long time to perform the task.  When in the background, I see from the PL GUI that IZarc priority is reduced (I choose idle priority), but when I switch back it is not boosted but only achieves a "normal" priority.  Once the zip task is complete, switching to the now quiet IZarc window causes PL to report "Above Normal" priority (foreground boosted).

Other process scenarios I have noticed this behavior on is with MS Word running a macro like PDFmaker (Adobe Acrobat Pro).

From my tests it does not seem to matter what the ProBalance settings are, foreground boosting will not occur for CPU intensive programs.  One might argue that it doesn't matter  since the CPU is saturated anyway, but in some cases a process of 60% CPU consumption might go to 90% if it were boosted as I expect.

Jeremy Collake

Thanks for this report. The interoperability between ProBalance and foreground boosting may need a couple modifications.

I should disclaim, as always, that foreground boosting is disabled by default because its not something I usually endorse for general use. It has its uses in certain scenarios, but most of the time the foreground boosting that Windows applies is sufficient, and additional foreground boosting doesn't yield any benefit. In fact, it can even cause complications in some rare cases.

This is the reason ProBalance takes the approach of lowering the priority of overly active background processes instead of simply further raising the foreground process priority. Note that the foreground boosting Windows applies won't be reflected in the process priority class. It is done at the scheduler level, where foreground threads are given longer time slices.

Of course, foreground boosting does have its uses though.. and many users like it. That's why the option is available.

Anyway, back to the topic, I can envision the likely cause of the problem you are seeing. I will fix it in the next alpha or beta version I release. I'm not sure when it will come out, there are several additions I'm working on. It shouldn't be too long though.

Software Engineer. Bitsum LLC.