PL 9.4.089B: Setting CPU affinity, Priority Class, I/O Priority automatically

Started by ranko, December 09, 2019, 06:06:53 PM

Previous topic - Next topic

ranko

Hi,
my E5-1650v3 / MSI GTX 980 4G Gaming combi has relatively low frame rates when playing X4 Foundations with higher graphic details and anti-aliasing.
I tried a MSI RTX 2070 Super Gaming X 8GB and noticed that even in PL performance mode the GPU had issues to reach 60 Hz with high graphic details and MSAA 4-8x.
I also noticed that GPU load didn't reach full 100% utilization, maybe because the CPU cores were unable to deliver CPU data quick enough.

In PC Builds Bottleneck calculator I found out that my CPU limits the GPU capabilities by around 9.71%.
https://pc-builds.com/calculator/Xeon_E5-1650_v3/GeForce_RTX_2070_SUPER/0Cx14olu/8/

Then I got the idea to use Process Lasso to support X4 as good as possible by
- binding the X4 Game to the 6 main cores of my E5-1650v3 CPU (6/12 c/t)
- binding all other processes to the hyperthreaded cores
- setting X4 priority class to Above Normal
- setting X4 i/o priority to high

Additionally some other useful settings
- prevent sleep for PC and Display

By this I reached with not to high settings two effects
- up to 100% GPU utilization (wow)
- higher frame rates
- it was even possible to play MSAA 4x with higher resolutions and even SSAA 4x and 2x worked much better

At the beginning I used "Current" settings, but when reviewing settings it appeared as if the old defaults were still present.
So I used now "Always" in the hope that these settings are permanent at least until next reboot.
Or do I have now the problem, that its really stored permanenty, well will see later on reboot .. ;)

My question to you:
Is it possible to recall these exact settings automatically whenever the game X4 is being started  ?
Maybe by storing these settings into a profile which gets a list of applications attached, that shall be priotized this way ?

That would be a killer feature if this could be kind of automated or to select special profiles by right mouse click to the PL icon in the Windows info bar,
so that its not so much effort to select the wanted operation mode.
I think both would be cool, automation and the selection of such profiles, containing the desired settings for certain application that need special treatment.
Xeon E5-1680v4 | Supermicro X10SRi-F | 64GB DDR4 ECC | MSI RTX4070 Ventus | X710-DA2 | Win10 Pro 22H2

edkiefer

Quote from: ranko on December 09, 2019, 06:06:53 PM
Hi,
my E5-1650v3 / MSI GTX 980 4G Gaming combi has relatively low frame rates when playing X4 Foundations with higher graphic details and anti-aliasing.
I tried a MSI RTX 2070 Super Gaming X 8GB and noticed that even in PL performance mode the GPU had issues to reach 60 Hz with high graphic details and MSAA 4-8x.
I also noticed that GPU load didn't reach full 100% utilization, maybe because the CPU cores were unable to deliver CPU data quick enough.

In PC Builds Bottleneck calculator I found out that my CPU limits the GPU capabilities by around 9.71%.
https://pc-builds.com/calculator/Xeon_E5-1650_v3/GeForce_RTX_2070_SUPER/0Cx14olu/8/

Then I got the idea to use Process Lasso to support X4 as good as possible by
- binding the X4 Game to the 6 main cores of my E5-1650v3 CPU (6/12 c/t)
- binding all other processes to the hyperthreaded cores
- setting X4 priority class to Above Normal
- setting X4 i/o priority to high

Additionally some other useful settings
- prevent sleep for PC and Display

By this I reached with not to high settings two effects
- up to 100% GPU utilization (wow)
- higher frame rates
- it was even possible to play MSAA 4x with higher resolutions and even SSAA 4x and 2x worked much better

At the beginning I used "Current" settings, but when reviewing settings it appeared as if the old defaults were still present.
So I used now "Always" in the hope that these settings are permanent at least until the next reboot.
Or do I have now the problem, that its really stored permanenty, well will see later on reboot .. ;)

My question to you:
Is it possible to recall these exact settings automatically whenever the game X4 is being started?
Maybe by storing these settings into a profile which gets a list of applications attached, that shall be priotized this way ?

That would be a killer feature if this could be kind of automated or to select special profiles by right mouse click to the PL icon in the Windows info bar,
so that its not so much effort to select the wanted operation mode.
I think both would be cool, automation and the selection of such profiles, containing the desired settings for certain application that need special treatment.
Hi, Ok let's see I have never used that link and term bottleneck is not exactly right but yeh I can see that happening. I take it your MB doesn't support OC as its E-1650.
On your results, there are some games or applications that run best with HT off, which is what you seem to be seeing. You could maybe try leaving HT on and just focus game on 5 cores, but it probably likes real cores best in this case.

The option of "always" means permanent even after a reboot, any time you run that app it will use those settings.
On your last question, you could make a profile and switch depending on applications running but that I don't really recommend right now as it complicates things greatly.
In the future, there might be an auto switching profile feature added but there no timeline for it now.

Sounds like you got positive results, just don't go changing to many processes to anything above normal, one or two would probably be fine.
You have to remember Probalance will dynamiclly lower any background process that trys to load CPU.
Bitsum QA Engineer

ranko

It was simply a "design" decision by me to give the application the "better" cores.
It also worked fine with another distribution method of cores, i.e. 5c/10t for application and 1c/2t for the rest.

So you say that the settings are restored once I close the application ?
This somehow didn't work.

Maybe I did a mistake by having done this in this order:
- set all processes to use the hypertext cores 1,3,5,7,9,11
- set X4 to use the better cores 0,2,4,6,8,10

I only want to use this for games and maybe also Cubase in the future.

You mean I should deactivate probalance ? What bad impact might it have if I use the better cores for the game and the HT threads of the CPU for the rest processes ?

Did I understand you correctly that I should set the CPU alignment only on the X4 application and then all the other processes would use the remaining threads of the CPU as soon as I start X4 ?
Xeon E5-1680v4 | Supermicro X10SRi-F | 64GB DDR4 ECC | MSI RTX4070 Ventus | X710-DA2 | Win10 Pro 22H2

edkiefer

Quote from: ranko on December 10, 2019, 02:38:21 AM
It was simply a "design" decision by me to give the application the "better" cores.
It also worked fine with another distribution method of cores, i.e. 5c/10t for application and 1c/2t for the rest.

So you say that the settings are restored once I close the application ?
This somehow didn't work.

Maybe I did a mistake by having done this in this order:
- set all processes to use the hypertext cores 1,3,5,7,9,11
- set X4 to use the better cores 0,2,4,6,8,10

I only want to use this for games and maybe also Cubase in the future.

You mean I should deactivate probalance ? What bad impact might it have if I use the better cores for the game and the HT threads of the CPU for the rest processes ?

Did I understand you correctly that I should set the CPU alignment only on the X4 application and then all the other processes would use the remaining threads of the CPU as soon as I start X4 ?
No, don't disable Probalance, it is very simple you shouldn't even have to do much with Processlasso (by design it works right out of the box).
Start your game, then from PL GUI right-click on your game and set affinity to what you want in the always option.
Close the game and then check affinity, it will be set to how you did, always will remember the settings every time you run.

See how that works if you want to limit some other systems processes to 1 or 2 cores you will have to go throw them or group them(PL supports explorer SHIFT and CTRL functions) and use the always option.
As for using HT cores by themselves for other background processes I think it is bad idea, I would just do 1 or 2 cores with HT for that. I will  get back to this to make sure on that last statement.
Bitsum QA Engineer