AMD 7950X3D: Getting the most out of it - loz-archer/youtube GitHub Wiki
When I first got this processor I felt a bit let down as I wasn't experiencing the performance I'd seen in reviews. I tried various methods to get things to perform how I expected and think it's worth sharing.
The 7950X3D processor essentially has two faces, one for gaming, one for something else. Splitting its 16 cores and 32 threads down the middle. The first 16 threads are on the 3D cache cores, these give us better performance in our games because of the advanced and increased level 3 cache. The final 16 threads are on the frequency cores, I'm not sure what they're good for if I'm honest. I think I'd prefer all cores to have the 3D cache so I don't need to do this little dance, but dance we shall.
Every single config video I watched suggested to either change your "CPPC Dynamic Preferred Cores" to "Cache" in your BIOS, this priorities the 3D cache cores over the frequency cores - or alternatively, set the same CPPC value to "Driver" where we let Windows Game features detect our games, ensuring they run on the 3D cache cores. This method parks the frequency cores when it detects a game, rendering them useless whilst you're gaming.
If all you do is game then these are both working solutions to maximize your FPS.
I don't just game though.
I run VR and I record my game play with OBS. I often have additional apps loaded to help me with my sim racing like Crew Chief, Race Labs or Coach Dave Delta. I even have Discord open on occasion to keep a chat channel open with friends - all would have an impact on the 3D cores if I let them.
"Driver" mode is out the question as I still wanted access to the Frequency cores for the other things I need my PC to do whilst gaming.
"Cache" mode put too much into the 3D cache cores, things that didn't need the extra L3 cache, like Windows itself and all the other non-gaming tasks, taking away real-estate from my gaming performance.
Logic told me I needed to set my CPPC value in my BIOS to "Frequency" mode, ensuring all tasks favour the frequency cores as standard and then I would control the affinity of my games, forcing them to use the 3D cache cores whilst everything else is on the Frequency cores.
I found a few apps that could help control CPU affinity automatically. Most information I found recommended Process Lasso but I found it overkill for my needs.
Instead I found an app called Process Governor which has been reliable, excellent and very easy to use.
The only issue I have now is ensuring I add any new games into the Process Governor list so it can force their affinity onto the first 16 threads (the 3D cores). It only takes a second and my performance has been spot on and solid ever since. No more guess work, I now know what's going on with my system.