AMD Ryzen Game Performance Fix?

Let me shortly illustrate what my SMT fix aka "NO SMT conflicts does"
Please note I am using a template for a Ryzen CPU but just focus on the top half and ignore the CCX as this is universal and not a Ryzen specific issues


This a Worstcase scenario for running a 4threaded software/games on a CPU with 4core and SMT
SMT4_Tworstcase.png

What we see is that the 4 threads are sharing only 2 Physical Cores and thereby a limited amount of Core subresources
This happens every so often over time because Microsofts Thread scheduler is based on a Round-robin method (some heavy modifications/exceptions though)
This is when the software gets hit by a penalty form running under SMT. Remember this is worst case and not representative of typical or average thread distribution.




This is what my "NO SMT conflicts" do
SMT4_TAdjusted.png

My program denies access to the logical cores that would lead to the same physical core.
Now the software is constantly running with a the full usage of 4 physical cores. just like if there was no SMT present. however no reboot are needed its all done live on the system
This is where the ~15% performance boost form disabling SMT in games comes from


Now off cause this does not work on software that would have 8 threads running cause no matter what they would use up all the logical cores. and yes they would have to share the same physical cores. but that still better than getting no cores at all to a thread
The only reason we have SMT is because there is left over sub core resources from just running one threads. so once we get another thread onto the core it can use the leftovers.

leftovers > non resources
leftovers < full resources

I hope this can clarify the SMT issues once and for all. Whatever it be Intel or AMD.

Where are some of your benchmarks showing any improvement using this? You made a tool and you want other people to experiment with it for you. You would be doing a lot better if you actually provided some performance data instead expecting others to do it for you.
 
Last edited:
Let me shortly illustrate what my SMT fix aka "NO SMT conflicts does"
Please note I am using a template for a Ryzen CPU but just focus on the top half and ignore the CCX as this is universal and not a Ryzen specific issues


This a Worstcase scenario for running a 4threaded software/games on a CPU with 4core and SMT
SMT4_Tworstcase.png

What we see is that the 4 threads are sharing only 2 Physical Cores and thereby a limited amount of Core subresources
This happens every so often over time because Microsofts Thread scheduler is based on a Round-robin method (some heavy modifications/exceptions though)
This is when the software gets hit by a penalty form running under SMT. Remember this is worst case and not representative of typical or average thread distribution.




This is what my "NO SMT conflicts" do
SMT4_TAdjusted.png

My program denies access to the logical cores that would lead to the same physical core.
Now the software is constantly running with a the full usage of 4 physical cores. just like if there was no SMT present. however no reboot are needed its all done live on the system
This is where the ~15% performance boost form disabling SMT in games comes from


Now off cause this does not work on software that would have 8 threads running cause no matter what they would use up all the logical cores. and yes they would have to share the same physical cores. but that still better than getting no cores at all to a thread
The only reason we have SMT is because there is left over sub core resources from just running one threads. so once we get another thread onto the core it can use the leftovers.

leftovers > non resources
leftovers < full resources

I hope this can clarify the SMT issues once and for all. Whatever it be Intel or AMD.
Is that the correct arrangement for logical and virtual cores confirmed or was that used for a description on the reasoning?
 
Where are some of your benchmarks showing any improvement using this?
1: Look up
2: Thats one of the reasons (The other, and more important, is CCX) we have this thread is to get benchmarks on this. So why don you try it out? The software is free or you can do it manually with affinity.


Is that the correct arrangement for logical and virtual cores confirmed or was that used for a description on the reasoning?
This has been the correct layout for ALL Intel CPU's I've tested that every 2 logical cores are one physical core but please not i only have access to older generations of Core i7/I5/I3

I believe it the same way for the CMT desing on the previous generations of AMD CPU's but im unsure on this but i can double check it.
You would just have to replace Logical core with physical inter gear core. and physical cores with FPU
 
How do you lock down the driver for the video card to work with the same cores? Or is that automatic for a gpu driver?

It is just working on the threads of the main process as it is here most of the load is.
 
1: Look up
2: Thats one of the reasons (The other, and more important, is CCX) we have this thread is to get benchmarks on this. So why don you try it out? The software is free or you can do it manually with affinity.



This has been the correct layout for ALL Intel CPU's I've tested that every 2 logical cores are one physical core but please not i only have access to older generations of Core i7/I5/I3

I believe it the same way for the CMT desing on the previous generations of AMD CPU's but im unsure on this but i can double check it.
You would just have to replace Logical core with physical inter gear core. and physical cores with FPU
I could test like Cinebench with core 0 and 1 and then compare it to core 1 and core 2 using affinity to confirm. Do that in the morning.
 
I could test like Cinebench with core 0 and 1 and then compare it to core 1 and core 2 using affinity to confirm. Do that in the morning.

Thats pretty much how i've been doing it. which is why most my testing is with cinebench.
1: easy to get
2: distributed load very good among threades (7-zip is not that good at this)
3: free :D
 
Thats pretty much how i've been doing it. which is why most my testing is with cinebench.
1: easy to get
2: distributed load very good among threades (7-zip is not that good at this)
3: free :D
I got my core numbers wrong, test 0 and 1 (same core) and then 0 and 2 (two different cores).
I could also compare 6 and 8 and compare it to the test for 0 and 2 to see if going across the two CCXs makes a difference (in this case I would expect a gain due to each having a dedicated L3 cache). But then most work in this case is probably done with the L1 and L2 cache, have to test to see.
 
I got my core numbers wrong, test 0 and 1 (same core) and then 0 and 2 (two different cores).
I could also compare 6 and 8 and compare it to the test for 0 and 2 to see if going across the two CCXs makes a difference (in this case I would expect a gain due to each having a dedicated L3 cache). But then most work in this case is probably done with the L1 and L2 cache, have to test to see.

For CCX distribution &-zip would probably be best in 2 thread mode. because 7-zip worksin threads pairs. and the 2 threads in a pair are depending on data from thread 1 to thread 2 (one does the data modeling modelling the other does the entropy coding)
So they should be hit hard once they are not on the same CCX due to all data has go between the threads


Just remember to do any testing with core parking disabled if you are running windows 7
 
Last edited:
For CCX distribution &-zip would probably be best in 2 thread mode. because 7-zip worksin threads pairs. and the 2 threads in a pair are depending on data from thread 1 to thread 2 (one does the data modeling modelling the other does the entropy coding)
So they should be hit hard once they are not on the same CCX due to all data has go between the threads


Just remember to do any testing with core parking disabled if you are running windows 7
Win 10 and core parking in High Performance mode is off, so that is what I will use.
 
Just a small update.
I've finnally made a more smarter "No SMT conflicts" method. now its no a dumb aprroches (enable or disable it)
it should now automatically disable when software has enough thread to utilize more than physsical cores. and enable it self when the main process has to few CPU heavy thread.

I am compiling and uploading tommorow
 
Well using Cinbench does not work, set Cinbench Affinity for 0 and 1, hit run and it uses all the cores/threads - go back into process affinity and all cores are checked. Looks like the program is automatically configuring the cores/threads. Did this several times, applying closing and reopening affinity which shows core 0 and 1 but as soon as you start to render it uses all the cores.

Now when I do the single core render from the program - the Task manager shows four cores being used and not just one - weird - something is not right here. I would expect one core to be pegged not four at 20-50%. That is all I can do today.
 
Well using Cinbench does not work, set Cinbench Affinity for 0 and 1, hit run and it uses all the cores/threads - go back into process affinity and all cores are checked. Looks like the program is automatically configuring the cores/threads. Did this several times, applying closing and reopening affinity which shows core 0 and 1 but as soon as you start to render it uses all the cores.

Now when I do the single core render from the program - the Task manager shows four cores being used and not just one - weird - something is not right here. I would expect one core to be pegged not four at 20-50%. That is all I can do today.

Sorry that s my fault i completle forgot about this.
You have to set affinity AFTER you click start render. for some reason cinebench make sure to set affinity to all whenever you hit that start button.
I had forgotten about this issue.
 
Process Lasso has a function to constantly monitor and correct program affinity, you could try that.
Forced Mode (continuously reapply settings) in Options.
 
Process Lasso has a function to constantly monitor and correct program affinity, you could try that.
Forced Mode (continuously reapply settings) in Options.
Is Lasso fully working-compatible with Ryzen?
I read conflicting reports from Anandtech forum but maybe down to user settings *shrug*
Thanks
 
Worth a try anyway. I think they had problems with bios there so maybe a combination? There were some strange things happening like with affinity set programs were running on only 2 cores or something like that...
 
I am not confident in trying tweaking programs while still testing out, configuring my new system. Once I stabilized my OCs and settings I will have more leeway in exploring other options.

Sorry that s my fault i completle forgot about this.
You have to set affinity AFTER you click start render. for some reason cinebench make sure to set affinity to all whenever you hit that start button.
I had forgotten about this issue.

I think maybe you might think in getting a RyZen system to really get down into the nit and gritty for your software development. The tool looks very cool but I am not at a point to test it out yet. My earliest estimates would be 2 weeks. I can do tests that are already part of the OS or other software I use, thinking of using maybe Aida64 with the affinity test to verify the core configurations, that gives very precise measurements or data.
 
I am not confident in trying tweaking programs while still testing out, configuring my new system. Once I stabilized my OCs and settings I will have more leeway in exploring other options.



I think maybe you might think in getting a RyZen system to really get down into the nit and gritty for your software development. The tool looks very cool but I am not at a point to test it out yet. My earliest estimates would be 2 weeks. I can do tests that are already part of the OS or other software I use, thinking of using maybe Aida64 with the affinity test to verify the core configurations, that gives very precise measurements or data.

Ryzen is definatly going to be in my next build becuase must of my CPU power is beeing utilized for non gaming task. i do a severe among of data pattern recognition and brute force compression optimization. we are talking task thatcan scale to sevelrea hundred threads and easily takes weeks on my current system.
Sadly my money situation is not for it.
But i do now thee SMT fixing stuff for intel I3 I5 i7 and xeon are working i've tested that over several dozen systems

Its more the CCX im interestde in or at leats just which (logical) cores are in which CCX
 
Ryzen is definatly going to be in my next build becuase must of my CPU power is beeing utilized for non gaming task. i do a severe among of data pattern recognition and brute force compression optimization. we are talking task thatcan scale to sevelrea hundred threads and easily takes weeks on my current system.
Sadly my money situation is not for it.
But i do now thee SMT fixing stuff for intel I3 I5 i7 and xeon are working i've tested that over several dozen systems

Its more the CCX im interestde in or at leats just which (logical) cores are in which CCX
Well that need will probably grow when the server chips hit with multiple CCXs - so being ahead of game, even if a little could pay off big. At least it will help future developers maybe understand earlier what works better on threading.
 
Can I suggest those looking to test this also consider AoTS.
The game improves works with SMT in a positive/neutral way and also scales to work well beyond 4 Core CPUs.
However it is a good example for this program because disabling SMT improves performance by around 10% on Ryzen and also does not scale performance to the 8 primary cores (sensitive to the CCX latency).

So has a bit of everything to improve.

Here shows negative performance with SMT and also negative performance scaling beyond 4 Cores (inter-CCX) relative to Intel.

r_600x450.png



Shows here working positive/neutral with SMT on Intel for 7700K and 6900K

r_600x450.png



Cheers
 
So SvenBent, how many people do you have testing your Ryzen SMT/CCX Affinity forcing program?

After it is working as desired, do you think it will be mostly automated, or do you expect to have users set profiles for the specific processes that need to be targeted for modified processor affinity settings?
 
I found a program recently that saves affinity settings and automatically reapplying it every time the app runs

It simply adds a checkbox to task manager to save settings..

I forget the name

I just brought a ryzen and will trial this over next few days
 
Your fixer is a praiseworthy effort.

I'm having a tough time trying to observe where focused threads go.
Perhaps when I put task manager in focus, that confuses things???
I can barely switch fast enough to catch the tail end of what might
have been happening earlier.

Can Ryzen fixer be made to ignore task manager in focus? When
might we experiment with your new Mercury?
 
So SvenBent, how many people do you have testing your Ryzen SMT/CCX Affinity forcing program?

After it is working as desired, do you think it will be mostly automated, or do you expect to have users set profiles for the specific processes that need to be targeted for modified processor affinity settings?

I am so sorry for late feedback. for some reaons i didnt get alarms on this thread.

Currently im just working on SMT and not so much CCX issues. even thoug the solutions are almost the same.
In my current experimental build SMT swithcing it automatic. but i butched up the code so it goes haywire if i also enable "No ccx switching"
The goal so far is that you have to select either "No SMT conflcits" or "no CCX swithing" and it will automatically apply this when its appriore for you game.
no profile is needed.

Once this automatic mode is working. Then i will look into profile. so you can force a specific handling of SMT and CCX depedning on what process is you active process



Your fixer is a praiseworthy effort.

I'm having a tough time trying to observe where focused threads go.
Perhaps when I put task manager in focus, that confuses things???
I can barely switch fast enough to catch the tail end of what might
have been happening earlier.

Can Ryzen fixer be made to ignore task manager in focus? When
might we experiment with your new Mercury?


Ryzen fixer is a cutout of Project Mercury it mean it applies the settings and removes them immediately when you change app.
Similiar programs use a time loop cycle with make them slow to response and sukc up CPU, power. Avoiding the time loop cycle is actually a thing im pretty proud of.
nevertheless it means you cant switch to taskmanager to see affinity because it gets release the moment you click taskmanager.

One way to see it is to use the performance pane and notice how the load is now only on certain cores instead of spread out.
I've tried to find a better affinity monitoring tool but came up short

I cant easily set it to ignore taskmanager because Project mercury of this moment work on PIDs and PID are different from system to system.
However i could disable the part that restore affinity when you leave it.

I have 4 branches of PRoject mercury atm.
The public released one (dont thinkg it has"no CCX functionaltiy in it yet"
The beta ( basic CCX functionalty
Experimental ( Intelligetn SMT handling but ass broken "no CCX swithing"
Uncompiled (bug fixes from the public release

i need to consolidate some of that shit and i will release a new public and beta

I'll send you info to get the beta/experimental build
 
Just fixed some bugs in Project Mercury in regards to core park disabling and a lot of new bugs i had introduced in my current code to try automatic SMT control.
for some reason affinity recover broke. so i had to fix that as well. that what you get for having 3 different branches you are working on.
nevertheless a new version should be uploaded tomorrow both public and beta ( eta has the CCX no switching feature.

I have asked AMD for a testkit but I'm not holding my breath for it. but it would make me able to run my test in regards to CCX good/bad things myself
 
Hey guys..

I like testing stuff, i have a few interesting benches for you to look at.
I have to say with simply using affinity not much improvement but some. And not at high resolutions!

I use vanilla skyrim and I play the intro at 720p and fraps it. It has automated moving and i dont reposition the camera view.
This way the engine is loading new textures etc.. and each retest is very much the same
I use to bench walking in a straight line but the sandbox game type is often causing a npc or animal to effect the bench

I tried your app using that google link on first post, upon running, it brought up memory access read errors for hwinfo app and another i forgot.

But it ran skyrim and i benched the intro and fraps it

I have interesting results.. looks to improve performance i will reveal more later..

Anyway about thread usage

I have found thus far that running a game with even threads only, provides best gaming
Not much increased.. about 2-3%..
I will post my findings later..

I am intrigued by your app and wait for the update

I hear ryzen relies on ram speed and i am excited to replace my 2133mhz with 3000mhz and see if it will make much difference...
Currently for testing i got a single 4gb ddr 2133 ram.
I will run same tests with a single 8gb corsair 3000mhz
Than i will retest with dual channel!

I hope that my testing will help with development, if not than something to read haha
 
Last edited:
Hey guys..

I like testing stuff, i have a few interesting benches for you to look at.
I have to say with simply using affinity not much improvement but some. And not at high resolutions!

I use vanilla skyrim and I play the intro at 720p and fraps it. It has automated moving and i dont reposition the camera view.
This way the engine is loading new textures etc.. and each retest is very much the same
I use to bench walking in a straight line but the sandbox game type is often causing a npc or animal to effect the bench

I tried your app using that google link on first post, upon running, it brought up memory access read errors for hwinfo app and another i forgot.

But it ran skyrim and i benched the intro and fraps it

I have interesting results.. looks to improve performance i will reveal more later..

Anyway about thread usage

I have found thus far that running a game with even threads only, provides best gaming
Not much increased.. about 2-3%..
I will post my findings later..

I am intrigued by your app and wait for the update

I hear ryzen relies on ram speed and i am excited to replace my 2133mhz with 3000mhz and see if it will make much difference...
Currently for testing i got a single 4gb ddr 2133 ram.
I will run same tests with a single 8gb corsair 3000mhz
Than i will retest with dual channel!

I hope that my testing will help with development, if not than something to read haha

Thank you for the feedback. it can be difficult to show it in game as mostly they are GPU dependent so i think it more evident in minimum FPS.
I'll try to see what the bug with hwinfo can be. however i think i have lost he code for ryzen game fix.
its a part of project mercury and i kinda just went on developing on project mercury

2-3% is all im asking for :D im not expectiong 50% increase. somewhere along the line of 0-15%. Cinebench did 14% and that pure CPU so under games i expect the different to be smaller.

i have just uploaded a beta of Project mercury that can both lock you game into the samme ccx and disable SMT and both at the same time.

I'll give you a login code in PM. then you can see if the SMT fix is better than the CCX swith and if combined them help outs.
Stuff like that will help me make the automatic version making smarter decisions



Also if you happen to check cinebench you need to clik on something else than cinebecnh and then back onto cinebench as soon asyou see the orange render boxes. that way you set the affinity after CB has changes its own affinity
 
Okay,

I am trying my Best to keep this clear as possible..
The Fallout4 is looking ahead in the stadium where a fight between two npcs thinking they are a synth! the scene lasta 3 minutes.
Skyrim is the intro part. I run ENB hack only to allow FPS over 60! no graphic mods just vanilla game.
The resolutions are choosen at 720p.

I have to say, memory does play a big part in performance, going from 2133 to 2666 didnt do much as shown below!
if you don't already have.. go get high speed memory, NOW! I seen major improvement from 2666 to 2933!

Please remember this round of benches are cpu bound, not GPU! so I doubt you will see alot of improvement when playing games at high resolution due to the gpu slowing things down!


1 Single Stick Hyper X 2133 RAM 4GB DDR4 @ 2133MHZ


2017-03-29 13:41:50 - Fallout4 Threads 0,2,4,6,8,10,12,14 enabled
Frames: 8791 - Time: 180000ms - Avg: 48.839 - Min: 2 - Max: 52

2017-03-29 13:45:48 - Fallout4 Threads 0-15 Enabled + Ryzen Tweak App
Frames: 9124 - Time: 180000ms - Avg: 50.689 - Min: 45 - Max: 53




1 Single Stick Corsair 3000MHZ 8GB DDR4 @ 2133MHZ

2017-03-29 13:57:28 - Fallout4 Threads 0-15 Enabled + Ryzen Tweak App
Frames: 9568 - Time: 180000ms - Avg: 53.156 - Min: 41 - Max: 55

2017-03-29 14:01:11 - Fallout4 Threads 0,2,4,6,8,10,12,14 enabled
Frames: 9492 - Time: 180000ms - Avg: 52.733 - Min: 46 - Max: 55



2 Sticks (Dual Channel) 3000MHZ 16GB DDR4 @ 2133MHZ

2017-03-29 14:10:10 - Fallout4 Threads 0,2,4,6,8,10,12,14 enabled
Frames: 10673 - Time: 180000ms - Avg: 59.294 - Min: 31 - Max: 119

2017-03-29 14:14:13 - Fallout4 Threads 0-15 Enabled + Ryzen Tweak App
Frames: 10314 - Time: 180000ms - Avg: 57.300 - Min: 46 - Max: 59




2 Sticks (Dual Channel) 3000MHZ 16GB DDR4 @ 2666MHZ

2017-03-29 14:36:33 - TESV Threads 0,2,4,6,8,10,12,14 enabled
Frames: 13427 - Time: 180000ms - Avg: 74.594 - Min: 36 - Max: 107

2017-03-29 14:40:25 - TESV Threads 0-15 Enabled + Ryzen Tweak App
Frames: 13569 - Time: 180000ms - Avg: 75.383 - Min: 43 - Max: 110




2 Sticks (Dual Channel) 3000MHZ 16GB DDR4 @ 2933MHZ


2017-03-29 14:50:23 - TESV Threads 0-15 Enabled + Ryzen Tweak App
Frames: 14730 - Time: 180000ms - Avg: 81.833 - Min: 46 - Max: 120

2017-03-29 14:54:33 - TESV Threads 0,2,4,6,8,10,12,14 enabled
Frames: 13947 - Time: 180000ms - Avg: 77.483 - Min: 46 - Max: 112


------------------------------------------------------------------------------------------------------------

2017-03-29 15:00:19 - Fallout4 Threads 0-15 Enabled + Ryzen Tweak App
Frames: 11374 - Time: 180000ms - Avg: 63.189 - Min: 56 - Max: 65

2017-03-29 15:07:42 - Fallout4 Threads 0,2,4,6,8,10,12,14 enabled
Frames: 11143 - Time: 180000ms - Avg: 61.906 - Min: 55 - Max: 64
 
Last edited:
To get to the similar results of ryzen app
You can use windows task manager switch task from game to task manager use affinity and enables threads
0,2,4,6

I get similar results to ryzen app

A free app called prio can saves the affinity so you dont have to change affinity everytime
Prio remembers affinity for each app or game

I find the murcury app does not work as well as the older ryzen performance app
I think this is due to selecting performance tweak type. Might not be activating properly thus not activly changing affinity

I also notice ryzen performance app forces all threads to 16 usable.
When using prio this murcury app didnt force the app to use 16 threads and the prio would only run my perferred threads and actually cause game to run slower.
 
To get to the similar results of ryzen app


A free app called prio can saves the affinity so you dont have to change affinity everytime
Prio remembers affinity for each app or game



I also notice ryzen performance app forces all threads to 16 usable.
When using prio this murcury app didnt force the app to use 16 threads and the prio would only run my perferred threads and actually cause game to run slower.





You can use windows task manager switch task from game to task manager use affinity and enables threads
0,2,4,6
I get similar results to ryzen app


Ryzen gameFixer does the same it just does it automatically whenever you you active you game. so you should experience the same behavioer. just less to fiddle with


A free app called prio can saves the affinity so you dont have to change affinity everytime
Prio remembers affinity for each app or game

The problem wit prio is you need to set it up for all your games you want to use it on
With Project Mercury. just just enable one tic in the settings and you are going whatever you are playing one of you older games or a brand new installed one.


I find the murcury app does not work as well as the older ryzen performance app
I think this is due to selecting performance tweak type. Might not be activating properly thus not activly changing affinity


The code is the same. Ryzen Game fix is literally copy pasted from withing Project Mercury. unless some mistake poped up it should be identical as well
however I do not have the sourcecode for ryzen performance fix anymore, so i cant 100% confirmed it.


I also notice ryzen performance app forces all threads to 16 usable.
When using prio this murcury app didnt force the app to use 16 threads and the prio would only run my perferred threads and actually cause game to run slower.


I am not sure i understand what you are trying to say her by forcing it to use all 16 threads.
again Ryzen game fix is simply been copied pasted form Project Mercury.
however icnat recall if Ryzen GAme fix adjuster it to lock on one CCX ( aka the first half of the logical cores) or to disable SMT (aka every other core)

However if you are going into taskmanager to see the priority you will not be able to see it as it changes it back to normal as soon as you activate another programs.
that way backgrounds programs still have access to the extra logical cores while you main process avoids SMT conflicts.
You will need some kind of live monitoring while you have the game active/focused to see the affinity being handled
 
Thanks

Still interested in whether the thread locking to certain cores discussion in this thread are gains that would be in in addition to the gains earned by setting the power plan to "high performance" or this special ryzen balanced plan.

Edit: I'm kindof answering my own question...
In the link I posted; in the AMD statement I'm reading the following:

"The March 27th Bretonnia update helps the underlying game engine better understand the topology of Ryzen with respect to the number of logical vs. physical cores. Overall, this helps Total War: WARHAMMER better schedule threads on the processor to reduce resource contention.

Thanks to the great work from our friends over at Creative Assembly™ and SEGA®, we saw an uplift of up to 10.5% with the “High” preset and up to 7% with the more GPU-bound “UItra” graphics preset."

This sounds like it totally validates the concept of this thread which is encouraging and seems to mean that not only can you boost performance with setting "high performance" but additional gains are there when you properly spread workload across the proper cores.
 
Last edited:
Thanks

Still interested in whether the thread locking to certain cores discussion in this thread are gains that would be in in addition to the gains earned by setting the power plan to "high performance" or this special ryzen balanced plan.

Edit: I'm kindof answering my own question...
In the link I posted; in the AMD statement I'm reading the following:

"The March 27th Bretonnia update helps the underlying game engine better understand the topology of Ryzen with respect to the number of logical vs. physical cores. Overall, this helps Total War: WARHAMMER better schedule threads on the processor to reduce resource contention.

Thanks to the great work from our friends over at Creative Assembly™ and SEGA®, we saw an uplift of up to 10.5% with the “High” preset and up to 7% with the more GPU-bound “UItra” graphics preset."

This sounds like it totally validates the concept of this thread which is encouraging and seems to mean that not only can you boost performance with setting "high performance" but additional gains are there when you properly spread workload across the proper cores.

Yup SMT/CMT thread conflicts has been an issues for years. Since the first i7. however the penalty is pretty "small" and very dependant on the software


However. Project Mercury 1.2.8.0 is out and has the improvements for Ryzen features in the public release now

V1.2.8.0
– Implemented AutoSMT (beta)
– Implemented “NO CCX Switching” feature for Ryzen™ processors
– Temporarily Fixed Affinity inherit issue
– “Disable CoreParking” is now on as default
– “Windows FastReact” is now on as default
– Default icon click action is now “Settings” instead of “Pause”
– Optimized some IF settings for minuscule reduced CPU usage
– Optimized exit procedure for faster exit
– Changed prev Core Parking fix to not use temp file

http://techcenter.dk/

I would highly recommend to give the AutoSMT a try, which will automatic enable/disable SMT on the main program depending on load. this should give us the best of both world scenarios.
Aka games where SMT Helps SMT will be available, and where it hurts threads will be locked away from using SMT.
 
Back
Top