Current (convoluted) approach - as on-the-fly changing core order preference and parking ccd1 if the game is detected (for people using fully automated setup - so the most recent drivers, gamebar "tool" and so on).
Doesn't cpu sets support the whole thread scheduling natively in a more fine-grained (per-process) way ?
If I'm reading correctly what e.g. Process Lasso supports (see cpu sets) - wouldn't the behavior such as:
- core parking - N/A or turned off
- high frequency cores preferred by default
- when gamebar detects a game, put it in ccd0 dedicated cpu-set; no need to update core order and/or park anything on ccd1
Or even better: expand Ryzen Master tool with game profiles (which you can copy-paste from radeon drivers) - with default behavior of ccd0 cpuset for known games (and ccd1 set or 'none' for well known exceptions like CS:GO), but leaving in user's hands basic editing/adding capabilities (xbox game bar is rather lacking in this context). And let people use both soft affinity (sets) and hard affinity as they see fit ?
Is there some reason why this approach wasn't chosen ?