Bitsum Community Forum

General Category => Process Lasso => Topic started by: fragfeaster777 on May 28, 2025, 12:33:46 PM

Title: Dynamically change core assignment based on CPU workload
Post by: fragfeaster777 on May 28, 2025, 12:33:46 PM
I have an Intel 14700KF, with it's P-cores overclocked as follows: P1-3: 5.8Ghz, P4-5: 6.2Ghxz, P6-8: 5.6Ghz.

For a particular program, is there any way to set Process Lasso so that it can first utilize the fastest P4-5 cores, and only if these cores are maxed out, then use the next fastest P1-3 cores, and then only if these cores are also maxed out, then use the slowest P6-8 cores?

I think another way of asking this question is: Can Process Lasso dynamically change core assignment, based on overall CPU workload?. If the E-cores are off and hyperthreading is on, then each logical core would represent 6.25% of the workload, and so Process Lasso would set the following rules:

* If workload <= 25%, use the fastest P4-5 cores (6.25% * 2 * 2 HT)
* If workload > 25% and <= 62.5%, use P4-5 and the next fastest P1-3 cores.
* If workload > 62.5%, use all cores.

I was thinking some regular expressions could maybe achieve this, but wasn't sure how to dynamically change core assignment.

This would be very useful so that a particular game would always be using the fastest cores first.

Finally, if this is possible in Process Lasso, could there be a latency penalty (that may affect FPS) when performing the calculation of when to switch from one set of cores to the next set of cores?

Thank you very much!
Title: Re: Dynamically change core assignment based on CPU workload
Post by: stevelesage on May 30, 2025, 05:14:58 AM
QuoteI have an Intel 14700KF, with it's P-cores overclocked as follows: P1-3: 5.8Ghz, P4-5: 6.2Ghxz, P6-8: 5.6Ghz.

For a particular program, is there any way to set Process Lasso so that it can first utilize the fastest P4-5 cores, and only if these cores are maxed out, then use the next fastest P1-3 cores, and then only if these cores are also maxed out, then use the slowest P6-8 cores?

I think another way of asking this question is: Can Process Lasso dynamically change core assignment, based on overall CPU workload?. If the E-cores are off and hyperthreading is on, then each logical core would represent 6.25% of the workload, and so Process Lasso would set the following rules:

* If workload <= 25%, use the fastest P4-5 cores (6.25% * 2 * 2 HT)
* If workload > 25% and <= 62.5%, use P4-5 and the next fastest P1-3 cores.
* If workload > 62.5%, use all cores.

I was thinking some regular expressions could maybe achieve this, but wasn't sure how to dynamically change core assignment. brawl stars online (https://brawlstarsonline.io)

This would be very useful so that a particular game would always be using the fastest cores first.

Finally, if this is possible in Process Lasso, could there be a latency penalty (that may affect FPS) when performing the calculation of when to switch from one set of cores to the next set of cores?

Thank you very much!
No, Process Lasso cannot dynamically adjust core usage based on CPU load thresholds or core speeds. You can set affinity to use the fastest cores first — but switching affinity dynamically requires external scripting. Such dynamic switching could cause latency or performance spikes.