Preferred Processor Core Affinity
Maybe this has been asked/answered before so bear with me...
While games are becoming more multi-threaded there is always one or two threads that are the real bottleneck, and that's pretty obvious by watching the processors in Task Manager while playing modern triple-A titles. To help, Ryzen 2000 processors, identify the strongest cores for boosting and it's even apparent in the RyzenMaster software.
But how do we know the bottle neck thread is being scheduled to run on the strongest cores which can be boosted to highest / longest on Ryzen 2700X or 2600X (for instance)?
I'm aware there is a SetThreadIdealProcessor and SetThreadIdealProcessorEx functions to tell the Windows10 scheduler to 'favor' a certain processor for specific threads. I assume (not being a programmer) that a program (game) would query processor capabilities at startup and then use those functions to steer what it knows to be the bottleneck thread to the strongest cores (processors). But doesn't that means games have to be coded correctly? Or is it the graphics driver that does it?
When I read of benchmarks and game reviews for performance nobody ever tells if the games are using the strongest cores or not, seems to me that would something good to know.
Does anyone have in information on this?