Cpu rule, problems & some ideas

Started by Unico, October 05, 2019, 12:28:02 PM

Previous topic - Next topic

Unico

(Message Translated)
Greetings, I'm a new user.
I'm trying the program in question, and I congratulate you for the management algorithm and other things that I find well done.

But 3 things find me really doubtful:
1 The "performance mode" management with automatic recognition (steam) that actually does its duty, but only for recognition, manually selecting the "performance mode" is not activated the same mode manually, in simple terms: automatically from steam the game it is pumped to the maximum (priority, etc.), for games that are not part of the aforementioned platform and with manual selection this does not happen.
2 with the "jolly" characters (*) it is possible to enter complete routes, this is excellent, but it only works for the "performance mode" option, this does not work with the "cpu" "priority and affinity" options (otherwise manually I would solve the question of point 1)
3 the saddest point, watchdog rules on lowering cpu or the cpu limiter function are useless, for what reason:
Watchdog: if you set an application that reaches a % cpu, for must use less cores, even if you then release power, the aforementioned application will not recover anymore, remaining always low.
Cpu limiter: even if you set a limit % cpu you cannot decide on which cores to act because the choice is automatic.
---------------------------------------------------------------------------------------------------
Both options are useless, because during the "global effort" the % cpu also of the application on which you want to apply the rule, is lowered by the system.
The error of both systems lies in the control % cpu linked to the application and not of the % cpu of the system.
---------------------------------------------------------------------------------------------------
A good change would be:
-Adding the second time control function "for a period of" to the "watchdog" options allows you to have a better "cpu limiter" control system (cpu limiter which can also be eliminated)
-With an additional setting function on the % of "cpu global"

So you can have rules like:
When the % of "global cpu" reaches a designated % for xxxx seconds, to the following applications xxxx (one per rule, or multiple) change to xxxx "core" selected (or other rules), check the % of "cpu globale" every xxxx seconds (if it is not as in the rule, reset in the settings as they were before the rule)

Thank you for understanding.

Jeremy Collake


Quote1 The "performance mode" management with automatic recognition (steam) that actually does its duty, but only for recognition, manually selecting the "performance mode" is not activated the same mode manually, in simple terms: automatically from steam the game it is pumped to the maximum (priority, etc.), for games that are not part of the aforementioned platform and with manual selection this does not happen.

The priority settings are not changed by Performance Mode, only the active power plan is changed to Bitsum Highest Performance. It isn't clear to me what you are seeing here, but it may be incorrect expectations. Please try to clarify.

Quote2 with the "jolly" characters (*) it is possible to enter complete routes, this is excellent, but it only works for the "performance mode" option, this does not work with the "cpu" "priority and affinity" options (otherwise manually I would solve the question of point 1)

You need to turn on path matching. In any of several configuration dialogs (e.g. Options / CPU / Configure persistent CPU priorities ...), there is a checkbox at the bottom "Also match process pathnames". See attached screenshot.

Quote3 the saddest point, watchdog rules on lowering cpu or the cpu limiter function are useless, for what reason:
Watchdog: if you set an application that reaches a % cpu, for must use less cores, even if you then release power, the aforementioned application will not recover anymore, remaining always low. Cpu limiter: even if you set a limit % cpu you cannot decide on which cores to act because the choice is automatic.

You would need to set a second Watchdog rule to restore the process's CPU affinity when it is under the target threshold.

We are considering allowing specific CPU assignments in the CPU Limiter.

Thanks for the feedback!
Software Engineer. Bitsum LLC.

Unico

Thank you Jeremy for your kind reply

- The "point 1" happened to me because I had already manually set "all possible" on high priority for 1 game on steam, automatic-recognition therefore acted accordingly, my mistake- O_T
- The solution you gave me "regarding the path function" pathnames is excellent, so I solved the "point 1" just like I wanted :)
Even if it does not work in the "configure default I / O priorities" setting (here a doubt, would really want to give a major I / O priority to an important game or application?)
- I think that if you add the "check every xxx time" function to watchdog, you will not need to have the cpu limiter function.
- "set a second Watchdog rule to restore the process's CPU affinity when it is under the target threshold", it is a paradox? We end up "playing ping-pong" with the application settings?
- The solution would be to be able to set the rule on the global % CPU option and not on the used % Cpu of the application
- Or (another crazy idea XD) to be able to set in the rules that: with the start of a path/* or application the xxxx applications have activated the rules (lowering priorities, cores, etc.) Practically cross-cutting rules.

Jeremy Collake

I've fixed the I/O priorities pathname matching going forward, thanks for letting me know!

QuoteI think that if you add the "check every xxx time" function to watchdog, you will not need to have the cpu limiter function.

The 'for (seconds)' field lets you specify how long a rule must be over the threshold before it is engaged. Do you find this to not be working or ineffective?

Quote"set a second Watchdog rule to restore the process's CPU affinity when it is under the target threshold", it is a paradox? We end up "playing ping-pong" with the application settings?

It isn't a paradox, but yes there would be some back-and-forth. Same would be true of the CPU Limiter as the rule is engaged and disengaged. The above mentioned time-over-threshold should allow the user to prevent it from engaging more often than they want.

QuoteThe solution would be to be able to set the rule on the global % CPU option and not on the used % Cpu of the application

That could be added going forward, but does introduce further rule complexity.

Quote- Or (another crazy idea XD) to be able to set in the rules that: with the start of a path/* or application the xxxx applications have activated the rules (lowering priorities, cores, etc.) Practically cross-cutting rules.

I am not clear on what you mean here, but regarding custom syntax to combine or change rule behavior: This is an option, but I try to avoid it due to the complexity it introduces. If it solves a common problem, then I'll consider it.
Software Engineer. Bitsum LLC.

Unico

Glad to have been a minimum of help and not just a heavy bore. XD

I enclose some images, trying to better explain my ideas.

Jeremy Collake

Ah, yes, I see. Thank you for the clarification.

I will absolutely consider and keep this request in mind.
Software Engineer. Bitsum LLC.

Unico

I update the concept,
very pleased "the idea" is welcome :)

It is obvious that if we could further expand this concept "in more than one path or application", giving each one his own rules and rules for each variant, it would be even better, but we understand that already a modification of the program with this concept even if basic, must already be, a demanding job. O_T

If I have more "crazy ideas" XD
I will allow myself with regard to update more the concept.

Jeremy Collake

This is do-able. Please do post any further ideas you have. I don't make any promises, but as this code is extended, I may very well incorporate some of all of your ideas.
Software Engineer. Bitsum LLC.

Unico

Without wishing to offend, I continue to post some other ideas in this post.

While "I tested the various options" I noticed some "graphic things" that could if considered appropriate and welcome, be retouched:
1A- Personally I find that having the interface divided into 2 distinct tabs for: All processes and Active processes is comfortable in some respects, but just as inconvenient under others. If "in a possible change" the windows were merged into one (to have everything under control in a single window), I would find it pleasing to add "a color or a column" to the active processes, as for all the "CPU utilization graph ".
1B- If, on the contrary, you prefer to leave the two windows separate, it would be advisable to have the "icons" and "identical column options" found in "All processes" also in "Active processes", and have "All processes" the "CPU utilization graph" column.
2- "The bar icon" which shows the graph being green is too similar to the standard windows, is good to have it completely orange or red. Even all the standard Process Lasso icons if they were "red" would be more stylish :)
3- The graph can report when "an event intervenes" but only by passing with the mouse we read the application, the ideal would always be to see it.

I attach pictures.
Thanks as always for attention.

Jeremy Collake

Thanks for the continued feedback!

As Process Lasso is further refined, I'll keep these suggestions in mind.
Software Engineer. Bitsum LLC.

Unico

Thank you for appreciation :)

A question:
Is there the possibility of understanding what could cause a sudden lowering of responsiveness (not even the complete actions log, reports anything about it), which "casually" (but I don't think it's casually) appears even if the PC has no active application or under stress? it would not be bad, if possible, to have given a statement of the cause of this lowering.

Thank you again.

Jeremy Collake

Unfortunately, it is not trivial to identify the cause of such responsiveness dips.

These can occur intermittently, and are sometimes caused by power state transitions. Other times, one or more Windows subsystems experience a delay for any number of reasons.

Process Lasso's system responsiveness metric doesn't have any knowledge of why the dip occurred, and there is no reliable way to generically determine the culprit.
Software Engineer. Bitsum LLC.

Unico

Thank you for your diligent and exhaustive answer.

After several tests I reduced the "previous responsiveness question" to the minimum by manually and more intervening on the "priority class" options.
Bearing in mind that the "Real Time" setting is rightly not recommended and therefore not to be used,
and that "idle" is for really static processes (practically applications are active but completely stopped, so better not to do manually),
keeping a "detached, between groups" setting as I have shown in the image, there is a marked improvement :)

edkiefer

Quote from: Unico on October 16, 2019, 05:46:39 AM
Thank you for your diligent and exhaustive answer.

After several tests I reduced the "previous responsiveness question" to the minimum by manually and more intervening on the "priority class" options.
Bearing in mind that the "Real Time" setting is rightly not recommended and therefore not to be used,
and that "idle" is for really static processes (practically applications are active but completely stopped, so better not to do manually),
keeping a "detached, between groups" setting as I have shown in the image, there is a marked improvement :)
Thanks for the input, There are plenty of places for "idle" priority to, in fact, I have run into very few processes that it hurt and not like its name it is still able to do plenty of work.

If you feel brave in Probalance advanced settings you can enable idle restraint instead of below normal. Below normal is a safer bet but with apps, I have tested it works fine too.
You just need to test it if you want to go down that rabbit hole :)
Bitsum QA Engineer

Jeremy Collake

I would caution against too much use of the High priority class. It can cause some strange effects for some applications.

How much these changes are mitigating the responsiveness dips may be hard to reliably determine given the intermittent nature of the dips.
Software Engineer. Bitsum LLC.

Unico

#15
Good to know :)

I enclose "another" advice XD

edkiefer

Those settings are not a global setting (I/O, CPU priority and CPU affinity) they are manual fixed process settings, so no need for don't act on services as you have to add/edit each process for those. They are not part of Probalance directly.
Bitsum QA Engineer

Unico

Specific that, if in the aforementioned groups, a path "*" is placed, which shows that there is a system service or application, the aforementioned services or applications unfortunately are not excluded.

edkiefer

Quote from: Unico on October 17, 2019, 02:14:55 PM
Specific that, if in the aforementioned groups, a path "*" is placed, which shows that there is a system service or application, the aforementioned services or applications unfortunately are not excluded.

Ok, I see what you mean.
Bitsum QA Engineer

Jeremy Collake

We don't recommend such all-inclusive wildcards, and that particular suggestion would add unnecessary complexity. That said, I'll keep it in mind ;).

You can select multiple processes in the GUI, so I would use that to set your rules.

Please do keep in mind that too much tweaking may be counter-productive.
Software Engineer. Bitsum LLC.

Unico

Among various things

It would not be bad aesthetically, to be able to divide "on a horizontal line" by customizable color, both active processes and priority class variants.

Having the interface open from an icon in the notification area, in a double click instead of a single one
(the other applications open with a double click, and more than once the program unintentionally opens and closes) XD

Jeremy Collake

I'll certainly consider further line customization going forward. There is a lot of potential for such, though it has to be done within reason.

The single-click vs double-click open from systray is a matter of debate. I tried to emulate the behavior of most Microsoft applications, though there is no standard, and plenty of apps do use double-clicks. I don't plan to change it at this point.
Software Engineer. Bitsum LLC.

Unico

#22
Glad to see improvements in beta versions openable :)
in the ..0.11 version I noticed that the text in the graph does not change any more the color of the energy's profile title.

Extra more things in the priority images.
-Two different and opposed lists management rules are currently used, standardizing one and giving the possibility to move the rules at will, would not be bad.

As shown in the "bad" graph, I am also testing every possible "combination" of priorities I have in mind.
With calm and perseverance I will find excellent settings. XD

edkiefer

The main visual change in 9.4.0.11 beta is "Show active config profile on the graph" so nothing in beta 9.4.0.11 there about text color change.
Bitsum QA Engineer

Jeremy Collake

Quotein the ..0.11 version I noticed that the text in the graph does not change any more the color of the energy's profile title.

Did it ever? Not sure what you previously saw there. If you have time to take a screenshot, please do. That portion of the code was adjusted and the issue maybe unintentionally addressed.

I agree that rule precedence is an issue that needs addressed. In the interim, I can only advise to use the Watchdog for rules that need precedence ranking.

I would, however, caution that if you have that many overlapping rules, you may have went too far in your tweaking efforts!


Software Engineer. Bitsum LLC.

Unico

Clarification: In the graph the color of the text regarding the energy profile, no more change like the rest, now it always remains black (custom theme, custom colors).

I find it very difficult to use watchdog rules or cpu limiter, because they don't interpret the "global cpu", so I don't use them. O_T

My priority rules are quite essential, but unfortunately many applications have parallel paths,
manage them one by one, active or inactive etc etc, "it is to pull heads to the wall", better to simplify with "paths *" :)

edkiefer

Quote from: Unico on October 31, 2019, 01:15:08 AM
Clarification: In the graph the color of the text regarding the energy profile, no more change like the rest, now it always remains black (custom theme, custom colors).

I find it very difficult to use watchdog rules or cpu limiter, because they don't interpret the "global cpu", so I don't use them. O_T

My priority rules are quite essential, but unfortunately many applications have parallel paths,
manage them one by one, active or inactive etc etc, "it is to pull heads to the wall", better to simplify with "paths *" :)
You should be able to set "graph text" to a lighter color for contrast. If that doesn't work maybe try the option "reset custom colors", then try setting them.
I am able to set black graph with white text.
PS: are you on Windows Dark mode in OS?
Bitsum QA Engineer

Unico

A further clarification:
The "reset custom colors" (that I had already tried) does not resolve.
The beta versions up to ..0.19 have this little misunderstanding.
The stable ..0.74 version changes the "custom colors graph text" without problems.

Jeremy Collake

QuoteClarification: In the graph the color of the text regarding the energy profile, no more change like the rest, now it always remains black (custom theme, custom colors).

Thanks! This should be resolved in the next beta (21), now available. Let me know if you find that to not be the case.

I found that it only manifested when the graph legend was hidden, hence us not seeing it in testing. Good catch!
Software Engineer. Bitsum LLC.

Unico

I confirm, with the beta version ... 0.21 text color arranged :)

I had the chance to test the stable version and the last beta, both with standard settings and clean installation,
with the system without effort and without use, sometimes we can notice the differences in the graphic shown in the images,
the two versions have different reactions, in both the logs appear close up: dllhost.exe and processgovernor.exe

I do not think I will continue to "concentrate" because "I am a little cooked" XD

Jeremy Collake

Don't cook yourself ;).

There should be no performance difference between the stable and beta. It is all work on the interface and perhipery.
Software Engineer. Bitsum LLC.

Unico

A question,
the function in the options: "Main-Performance Mode enabled" is practically the setting: "Options-Power .."
and therefore only manages the energy profile or does it have other "its" additional functions to increase performance, if yes, which one are they?

Thank you in advance.

edkiefer

Quote from: Unico on November 02, 2019, 06:14:50 AM
A question,
the function in the options: "Main-Performance Mode enabled" is practically the setting: "Options-Power .."
and therefore only manages the energy profile or does it have other "its" additional functions to increase performance, if yes, which one are they?

Thank you in advance.
Hi, It is mainly the power plan but also so the process can work with other products(Park control) and features efficiently. It will also stop Probalance from restraining the process priority even while multi-tasking.

https://bitsum.com/bhp/
Bitsum QA Engineer

Jeremy Collake

#33
Performance Mode interacts with other features through options that can enable/disable them while Performance Mode is active. For instance, IdleSaver and SmartTrim. Also processes marked to Induce Performance Mode are excluded from ProBalance.

Finally, there is the possibility that its system adjustments extend beyond BHP at some point in the future.
Software Engineer. Bitsum LLC.

Unico

#34
I confirm that the stable version ..0.46, in the usual use is proving excellent. ..0.70 even for the better, keep it up! :)

Jeremy Collake

Software Engineer. Bitsum LLC.

Unico

...0.40 another great update, just to test properly :)

A question for my vanity XD
I really have too many green icons in the task, can you somehow change color to the icon? (icon or task, also as an add-on option system tray icon)
Or some variety. Red, Orange, Blue... :)

Jeremy Collake

Glad to hear the latest version is doing well.

Refinement of the system tray icon is on the list, though I don't know when it will happen. When it does, support for alternate colors is likely.
Software Engineer. Bitsum LLC.

Unico

The 9.6.0.68 version.
First impression: among the many things well done, is proving to be very good in the management of the "responsiveness peaks".
Excellent, keep it up :)

Unico

Kindly ask a question, which is mostly a curiosity about possible settings:
Creating manual rules on system applications (example: exclude from balancing) and still having the "do not act on system service" setting active, doesn't it create problems?
How any rules that "intersect" doing the "same thing"?
I sincerely thank you in advance :)

edkiefer

Quote from: Unico on February 04, 2020, 08:58:30 PM
Kindly ask a question, which is mostly a curiosity about possible settings:
Creating manual rules on system applications (example: exclude from balancing) and still having the "do not act on system service" setting active, doesn't it create problems?
How any rules that "intersect" doing the "same thing"?
I sincerely thank you in advance :)
Hi, No conflicts there.
If you exclude a process, that means PL won't act on it and with the service option "do not act on system services" does the same thing, so any process, in either case, PL won't affect it.
Bitsum QA Engineer

Unico

I quest if it is already implemented even if not specified.. or not. Tnx :)

Jeremy Collake

I'm sorry, what is your question? That option is implemented.
Software Engineer. Bitsum LLC.

Unico

I specific: Applications set with an affinity different from normal (normal=pc standard all cores) become excluded by ProBalance? I thank.

edkiefer

Quote from: Unico on April 20, 2020, 01:11:25 PM
I specific: Applications set with an affinity different from normal (normal=pc standard all cores) become excluded by ProBalance? I thank.
That option is about Process Priority, not affinity.
Bitsum QA Engineer

Jeremy Collake

Quote from: Unico on April 20, 2020, 01:11:25 PM
I specific: Applications set with an affinity different from normal (normal=pc standard all cores) become excluded by ProBalance? I thank.

Ah, ok. I had overlooked your caption somehow.

That is an interesting idea. Sure, I might add that going forward. I'm not sure how necessary it is, but will consider it. Normally there is no negative interaction between priority class adjustments and custom CPU affinities, unlike non-normal priority classes.
Software Engineer. Bitsum LLC.

Unico

Now + than ever, I would like the task icon to be red or orange.
Please I click on green icons of other applications too often by mistake XD

Jeremy Collake

Software Engineer. Bitsum LLC.

Unico

Kindly I repeat, if it is possible (even if it seems silly) to have the icon in taskbar, red or orange.
I know I'm a "bronze face", sorry, XD
I thank :)

Unico

I noticed and can't wait to personally test the new 9.9 stable version. :)
Come on, also put a nice "red icon" in the tray! XD
(My usual-copper face- :D)
Good job! :)