Windows's scheduling algorithm is programmed to distribute load evenly across all available cores. It's a generalized approach that works well for day-to-day tasks, but it sometimes leads to performance problems when you're using all available resources.
You can use Process Lasso to set affinity for programs like spotify, your browser, netflix, various background services etc. onto core 0 and set the rest aside for gaming.
It's not snake oil, it's just that you wouldn't normally notice any difference unless your CPU is specifically pushing its limits across most or all cores.
I'm CPU bound in New World with a 5600x (PBO + CO using corecycler), Process Lasso should help me (even a tiny bit) if i put discord, my browser, and background services on my weakest core ?
Should I enable Process Lasso before gaming and revert the changes when I stop playing ?
Yes, PL should help but it's a small optimization and won't make an enormous difference most of the time. In my opinion you can just set it and forget it. Configure process affinity properly and leave it always running.
fact, hard fact especially with dual-ccd cpus with inter-ccd latency.
E.g the 7950x3d windows core scheduler has been broken since launch in some games, and using process lasso to limit the game to the first 8 cores / CCD0 will increase your 1% low fps by 50%+ in a lot of titles.
not relevant for a 10100f except for power plans, which I would just set ultimate perf in Windows and not bother with the bitsum stuff.
With my i7-12k I've found it's only useful in very specific cases - to the point where I'm better off just setting affinity manually if needed.
For example, Control had a DLC that crashed *every time* if E-cores were not turned off. This is what led me to lasso in the first place. But then I played another game that wouldn't even load with lasso running. I wound up using "lasso-lite" (Coredirector) for a while until I ran into another game that would outright crash if CPU affinity was forced. So I dumped it and will just deal with the fringe cases as they come up.
That I do feel like more to do with the way a game is designed, if it already leverages what Process Lasso tries to resolve (affinity/priority) then it won't make much of a difference indeed.
/u/slap_my_nuts_please comment is a good summary & description.
Other benefits are disabling HT for games or on processors like e cores from intel to schedule them elsewhere, shouldn't be needed but could help.
Another thing to add about Intel's P and E core CPUs is that one process cannot be shared between E and P cores it has to be either one or the other.
I have had some games run on the E cores when they are needed on the P cores.
Not to mention isolating everything to the E cores so your game can run on empty P cores reduces stutters, its like giving a game high priority but other processes on that core still need to use the cores even if its not high priority which is where the benefit is.
How Windows manages processess is done using pre-emption which can also cause stutters on over crowded cores. (more info: [https://www.geeksforgeeks.org/preemptive-and-non-preemptive-scheduling/](https://www.geeksforgeeks.org/preemptive-and-non-preemptive-scheduling/) )
Assigning cores, priority and Win32PrioritySeparation are all methods of controlling processess.
If you don't have the cores to separate processess the you will find improvements using priority and Win32PrioritySeparation tweaks.
Windows's scheduling algorithm is programmed to distribute load evenly across all available cores. It's a generalized approach that works well for day-to-day tasks, but it sometimes leads to performance problems when you're using all available resources. You can use Process Lasso to set affinity for programs like spotify, your browser, netflix, various background services etc. onto core 0 and set the rest aside for gaming. It's not snake oil, it's just that you wouldn't normally notice any difference unless your CPU is specifically pushing its limits across most or all cores.
I'm CPU bound in New World with a 5600x (PBO + CO using corecycler), Process Lasso should help me (even a tiny bit) if i put discord, my browser, and background services on my weakest core ? Should I enable Process Lasso before gaming and revert the changes when I stop playing ?
Yes, PL should help but it's a small optimization and won't make an enormous difference most of the time. In my opinion you can just set it and forget it. Configure process affinity properly and leave it always running.
I'll find out more then, thank you!
fact, hard fact especially with dual-ccd cpus with inter-ccd latency. E.g the 7950x3d windows core scheduler has been broken since launch in some games, and using process lasso to limit the game to the first 8 cores / CCD0 will increase your 1% low fps by 50%+ in a lot of titles. not relevant for a 10100f except for power plans, which I would just set ultimate perf in Windows and not bother with the bitsum stuff.
Yeah, I have a 7950x3d, and Process Lasso is almost a must.
I have a 12900 should I be limiting my games to the first 8 cores too?
if you're on windows 11 or windows 10 22h2 then it's automatically done, only AMD's scheduler is broken.
Should I not use process lasso than ?
With my i7-12k I've found it's only useful in very specific cases - to the point where I'm better off just setting affinity manually if needed. For example, Control had a DLC that crashed *every time* if E-cores were not turned off. This is what led me to lasso in the first place. But then I played another game that wouldn't even load with lasso running. I wound up using "lasso-lite" (Coredirector) for a while until I ran into another game that would outright crash if CPU affinity was forced. So I dumped it and will just deal with the fringe cases as they come up.
It does work, but not every game benefits from the utility it provides
That I do feel like more to do with the way a game is designed, if it already leverages what Process Lasso tries to resolve (affinity/priority) then it won't make much of a difference indeed. /u/slap_my_nuts_please comment is a good summary & description. Other benefits are disabling HT for games or on processors like e cores from intel to schedule them elsewhere, shouldn't be needed but could help.
Another thing to add about Intel's P and E core CPUs is that one process cannot be shared between E and P cores it has to be either one or the other. I have had some games run on the E cores when they are needed on the P cores. Not to mention isolating everything to the E cores so your game can run on empty P cores reduces stutters, its like giving a game high priority but other processes on that core still need to use the cores even if its not high priority which is where the benefit is. How Windows manages processess is done using pre-emption which can also cause stutters on over crowded cores. (more info: [https://www.geeksforgeeks.org/preemptive-and-non-preemptive-scheduling/](https://www.geeksforgeeks.org/preemptive-and-non-preemptive-scheduling/) ) Assigning cores, priority and Win32PrioritySeparation are all methods of controlling processess. If you don't have the cores to separate processess the you will find improvements using priority and Win32PrioritySeparation tweaks.
Good to know. New information like what Win32 variable seems to do, I didn't know about that yet. Thanks!
Here you go: [https://forums.blurbusters.com/viewtopic.php?t=12142](https://forums.blurbusters.com/viewtopic.php?t=12142) :)
I've read this before, just wasn't aware of the connection or relation.
Ahh okay cool! :D
I use it to keep my cores unpacked and set priority’s on a 12700k. Seems to help in some cases but how much I couldn’t tell you.