Upcoming AMD STM fixes only for 4 / 6 cores - Why?

+
"[AMD SMT] Optimized default core/thread utilization for 4-core and 6-core AMD Ryzen(tm) processors. 8-core, 12-core and 16-core processors remain unchanged and behaving as intended. This change was implemented in cooperation with AMD and based on tests on both sides indicating that performance improvement occurs only on CPUs with 6 cores and less."

I just wanted to say: Thanks in advance. Thanks for nothing.

Not only did the Digital Foundry video show that a Ryzen with 16 cores 32 threads does not get sufficiently saturated, only every other core / thread is used properly, but also by my own experience I get a huge boost of at least 10fps with my Ryzen 8 cores 16 threads where before I was hitting the cpu limit. By using a mod that doesn't even modify the exe.

So I gotta choose, you say? Get rid of many bugs, but get back the same crappy performance from release or get a good performance because modders fixed the game (same old, same old) but keep the bugs.

That's just great!
 
"[AMD SMT] Optimized default core/thread utilization for 4-core and 6-core AMD Ryzen(tm) processors. 8-core, 12-core and 16-core processors remain unchanged and behaving as intended. This change was implemented in cooperation with AMD and based on tests on both sides indicating that performance improvement occurs only on CPUs with 6 cores and less."

I just wanted to say: Thanks in advance. Thanks for nothing.

Not only did the Digital Foundry video show that a Ryzen with 16 cores 32 threads does not get sufficiently saturated, only every other core / thread is used properly, but also by my own experience I get a huge boost of at least 10fps with my Ryzen 8 cores 16 threads where before I was hitting the cpu limit. By using a mod that doesn't even modify the exe.

So I gotta choose, you say? Get rid of many bugs, but get back the same crappy performance from release or get a good performance because modders fixed the game (same old, same old) but keep the bugs.

That's just great!
Same here, great performance increase on 3800x, makes no sense as the fix isn't even hard to apply, so no idea why they didn't bother testing this well enough.
 
This is my first day of holiday, finally wanted to get into CP2077. Now it's a waiting game, first for the patch and then for the modders to fix performance again. I'm pissed. :(
 
Ok, I didn't get far before uninstalling for other issues but on my 3700X, I had no performance issues. Utilization was about 60% and more or less spread throughout the cores. So when does the performance tank, in crowd scenes once you get tot he open areas?
 
It shows on marketplaces mainly and some other busy city area's.
You probably also won't notice if your fps is always below 45, however i think with raytracing on, it can even require the SMT fix for stable 40 fps.
Anyway, without raytracing you will notice it from about 50 fps in busy area's and marketplaces.
CPU usage can go up to 80 % with the fix while without it remains about 50-60.
fps difference is about 10-15 fps. from 45 to 55-60
 
Ok, I didn't get far before uninstalling for other issues but on my 3700X, I had no performance issues. Utilization was about 60% and more or less spread throughout the cores. So when does the performance tank, in crowd scenes once you get tot he open areas?

Exactly, it's the crowds. Of course I could just lower it to "low" and be fine. Or I could install the AMD SMT mod and be even finer (heh) with crowds set to medium or high. Was there really a choice or a doubt on my part that the missing support / optimization for AMD Ryzen was the culprit here? Nope.

There were definitely different experiences. People where running into their gpu limit and reported "the AMD SMT mod changes nothing for me!" Well no shit sherlock. :D But I was clearly at the cpu limit. Got below 60 while looking at the first crowded plaza, 1440p. 1080p, same fps. 720p (ugh ^^) same fps. Installed the mod, over 70fps!
 
Same here, great performance increase on 3800x, makes no sense as the fix isn't even hard to apply, so no idea why they didn't bother testing this well enough.
I have 3800x as well and confirm it at least on the 3800x. Helped me reach a stable 60fps.
 
Can confirm an average of 10FPS increase with the unofficial patch ON vs off on a 2700X.
"This change was implemented in cooperation with AMD and based on tests on both sides indicating [...]"
- corpo speak. i'll pass
 
I will give them the benefit of the doubt though and will definitely apologize here, in the opening post, if it turns out their official fix works as good.

I mean, what other things could they've implemented than what the modders did within 48 hours after the game was released? It looked like childs play.

If they had AMD on board with this fix I would imagine that they have the highest interest in not being outperformed by their competitors cpus with an half-hearted attempt at a fix. Not after having established themselves so well in the cpu marked over the last year. So there's hoping I guess.
 
The decision has a certain logic, as every two logical cores share parts of their pipeline, which can introduce significant wait times per thread if the load is high enough, effectively reducing the peak performance per thread and thus slowing down the for games extremely important main thread.

I could in fact verify this with my 5900X: In my CPU benchmark scenario (V's apartment with graphics set to 720p Low), I was able to get 184 fps without the SMT patch, but "only" 154 with the patch. So by looking at the peak performance, it actually IS better to use only physical cores, which is nothing new or surprising.

Nevertheless with newer Ryzen CPUs the peak performance per core isn't as interesting, since Cyberpunk _should_ be mainly GPU limited. Much more important is stuttering and while CDPR talks of a placebo effect (which could be possible in some cases), I am also quite sure that even on my 5900X, the SMT patch almost completely removed microstuttering, even when navigating Night City very quickly.
 
Dude it gives me an average 10fps more and I clearly see proper thread saturation .
Now I'm beginning to feel bad i didn't do a youtube video on it. Take my word for it ? Wth..
Could be because it's a 2700x and not a 5900x but that's irrelevant.
It's one clear case of modding giving a free performance uplift whereas the devs intentionally block it.
Yea they worked with amd.
Corpos having corpos interest, maybe they just want us first gen, first gen+ and second gen to buy a 3rd gen ryzen lol.
Ppl reporting improvement with that patch on 3700x 3800x so maybe your 5000 chip is actually doing better but ours isn't.
Regardless, I'll never ever ever give a corpo the benefit of the doubt.
If cyberpunk as an overall metaphor didn't make that painfully obvious...
 
1.05 make my 0.1% Lows and 1% Lows better on my R5 2600 (@4GHz). Since my RX570 4GB is no powerhouse I don't see performance improvement, but it's far less drops than before.
 
Dito. And the mod I used didn't update the AMD SMT part so it's the patch or nothing. I'm pretty sure my peak fps where a good chunk higher than with patch 1.05 now, but it seems more stable overall, as in less drops and the low fps, if they happen, still feel fluid enough (using G-Sync compatible).
 
TLDR
1.04 doesnt work so well
guy on github releases a mod that makes it better
cdpr patch takes that improvement away
some ppl call progress.

Johnny: FUCK THAT !
 
In version 1.04 i tested smp fix (using HxD) on my AMD 3700x and i got this
Снимок экрана (1158).png
Снимок экрана (1159).png
Снимок экрана (1160).png
Снимок экрана (1161).png
After SMP fix, the minimum fps got better.

And I have it in patch 1.05 but the maximum fps is better, and the minimum is worse
Снимок экрана (1163).png
Снимок экрана (1164).png
 
Last edited:
Hex fix changed on v1.05 to

75 2D 33 C9 B8 01 00 00 00 0F A2 8B C8 C1 F9 08

Before on 1.04 it was

75 30 33 C9 B8 01 00 00 00 0F A2 8B C8 C1 F9 08

changing it to 74.

74 2D 33 C9 B8 01 00 00 00 0F A2 8B C8 C1 F9 08

And boom! It's fixed for SMT on all ryzen chips which should of been on the original patch not just for 6 or less smh
 
Hex fix changed on v1.05 to

75 2D 33 C9 B8 01 00 00 00 0F A2 8B C8 C1 F9 08

Before on 1.04 it was

75 30 33 C9 B8 01 00 00 00 0F A2 8B C8 C1 F9 08

changing it to 74.

74 2D 33 C9 B8 01 00 00 00 0F A2 8B C8 C1 F9 08

And boom! It's fixed for SMT on all ryzen chips which should of been on the original patch not just for 6 or less smh

I suppose they tested with 5000 and 3000 chips.
Well I'm sure they are right about them especially the 5000s.
But on 2000 series it actually helps. So this is useful thanks. And ppl also report benefiting from this on 1000 series.
 
I'm not getting any performance issues at all with my Ryzen 9 3900X and Radeon 5700 running at ultra, 1080p HDR with no ray tracing.

Most of you seem to say you have ray tracing on and you're surprised it doesn't run well?
 
The decision has a certain logic, as every two logical cores share parts of their pipeline, which can introduce significant wait times per thread if the load is high enough, effectively reducing the peak performance per thread and thus slowing down the for games extremely important main thread.

I could in fact verify this with my 5900X: In my CPU benchmark scenario (V's apartment with graphics set to 720p Low), I was able to get 184 fps without the SMT patch, but "only" 154 with the patch. So by looking at the peak performance, it actually IS better to use only physical cores, which is nothing new or surprising.

Nevertheless with newer Ryzen CPUs the peak performance per core isn't as interesting, since Cyberpunk _should_ be mainly GPU limited. Much more important is stuttering and while CDPR talks of a placebo effect (which could be possible in some cases), I am also quite sure that even on my 5900X, the SMT patch almost completely removed microstuttering, even when navigating Night City very quickly.

The placebo effect mentioned by CDPR was in reference to the memory_pool_budget.csv file and changing those values. CDPR in no way said that any performance gains by the SMT fix were a placebo effect. If anything, them acknowledging it and adding it to a patch only validates it.

Hex fix changed on v1.05 to

75 2D 33 C9 B8 01 00 00 00 0F A2 8B C8 C1 F9 08

Before on 1.04 it was

75 30 33 C9 B8 01 00 00 00 0F A2 8B C8 C1 F9 08

changing it to 74.

74 2D 33 C9 B8 01 00 00 00 0F A2 8B C8 C1 F9 08

And boom! It's fixed for SMT on all ryzen chips which should of been on the original patch not just for 6 or less smh

if you read the original SMT fix reddit post, there's a comment by a user that mentions changing the value from 75 to 74 is suboptimal, as this inverts the check as opposed to invalidating it, which could possibly have side effects, like possibly breaking intel, or other undesired effects. It's recommended to change the value to EB to neutralize the check instead as this is the safest route. Furthermore on that note, if you compare the strings, you can see two changes were made. One is from whatever we set that first address to, back to 75. The other change is the second address from 30 to 2D. At this juncture, we don't know exactly what that second address affects, so it's possible that more than one address needs to be changed now in order to restore the original SMT fix unlocked for all core AMD CPUs. Maybe changing the 2D back to 30 is enough, maybe not. I'm not a programmer and I am not an expert at these things, but, I did enough ROM hacking back in the early 2000's to know roughly how these things work, and if your values aren't exact, it can cause problems. Maybe changing it from 75 to 74, for now, makes it seem like it's fixed but causes other problems down the line.

Overall, enabling this fix on chipsets with eight or more cores could hypothetically create CPU overhead which could affect performance overall in a detrimental way. The lows may come up, but, it could possibly impact the highs. We're hex editing executables here and so we're all operating on hypotheticals, which means maybe it's true, maybe it's not, so at this juncture anything is possible.
 
i applied hex fix 1.05 to my 8 core amd (laptop), it increase usage and gave more stable fps so it works
 
Top Bottom