• Hey Guest. Check out your NeoGAF Wrapped 2025 results here!

Cyberpunk 2077 - fix AMD CPU usage

MadYarpen

Member
Apparently tere is some quick fix for AMD CPUs.

I think it helps. My CPU usage jumped from 40-50% up to even 90%+. I think game got a little more smooth.

Seems big enough to justify a thread:
 
Does this help framerate while driving?

Although, I've already seen my cpu usage jump to around 90% a lot.

Edit: I've only been watching core 1 I believe for my 3700x. I'll have to investigate tomorrow how the other 7 cores are doing.
 
Last edited:
The thread claims there is a bug and that for AMD CPUs the game ignores SMT and only uses physical cores.

Think I read this game will use up to 12 cores so 3900X owners and up may not see any improvement with this fix as they may not be experiencing any problems with CPU performance anyway.

EDIT : There seems to e improvmments even for 3900X users.



I will have to try this.
 
Last edited:
Yet I was told, this was a resource hog and it was just too ambitious. Maybe most ambitious for the buggiest and most unoptimized game released this year.
 
Yet I was told, this was a resource hog and it was just too ambitious. Maybe most ambitious for the buggiest and most unoptimized game released this year.
I'll take the few bugs I've had, over the biggest technical and graphical leap in a video game, EVER. Or is it because it's not made by Sony?
 
Consoles use AMD CPUs..
Consoles likely aren't using SMT currently. It's optional on the new machines, and disabled by default to attain higher base clock speeds.

It is plausible SMT has been disabled to fix bugs. This game definitely came in hot, and a potential flaw in SMT is that naive load balancing can end up hurting performance by not utilizing all the available physical cores. It might run faster in tests, but it also might introduce unexpected behavior elsewhere.

What's the situation on Intel?
 
Did this, with both different values suggested. Neither resulted in much, if any change. 3800X/3080/16GB of RAM, and at 1440p with everything maxed I get anywhere from 45-65FPS, depending on what's going on.
 
Consoles likely aren't using SMT currently. It's optional on the new machines, and disabled by default to attain higher base clock speeds.

It is plausible SMT has been disabled to fix bugs. This game definitely came in hot, and a potential flaw in SMT is that naive load balancing can end up hurting performance by not utilizing all the available physical cores. It might run faster in tests, but it also might introduce unexpected behavior elsewhere.

What's the situation on Intel?

Assuming accurately sourced... this code snippet, running on Intel defaults to threads matching logical processor count e.g. 16 for the 8 core 9900K


Will give this a go a bit later - may not make a difference on a 3950X.

Edit:
Definitely more CPU utilization, but not seeing a noticeable increase in FPS. I'm targeting the 55-75FPS range, though so I'm already GPU limited.
 
Last edited:
Would this work for FX processors? My 6300 needs all the help it can get.
Again, on the assumption that the snipped I posted is accurate, no. Bulldozer family chips ("0x15") are the only AMD chips that are using all threads.
By all means try it, but the theory would be that it makes no difference in your case.
 
Consoles likely aren't using SMT currently. It's optional on the new machines, and disabled by default to attain higher base clock speeds.

It is plausible SMT has been disabled to fix bugs. This game definitely came in hot, and a potential flaw in SMT is that naive load balancing can end up hurting performance by not utilizing all the available physical cores. It might run faster in tests, but it also might introduce unexpected behavior elsewhere.

What's the situation on Intel?
You can choose to disable only on Series X|S GDK.
PS5 has SMT on all the time... no option to devs disable it.
 
Last edited:
The thread claims there is a bug and that for AMD CPUs the game ignores SMT and only uses physical cores.

Think I read this game will use up to 12 cores so 3900X owners and up may not see any improvement with this fix as they may not be experiencing any problems with CPU performance anyway.

EDIT : There seems to e improvmments even for 3900X users.



I will have to try this.

What about perf improvement? Did you notice increase in fps?

Getting the same sub-par utilization here on 3700X. I'll try the workaround now.

EDIT:
After this workaround:

Avg. fps improved by 6%
1% Min fps improved by 14%

CPU utilization:

Before:
hRah9yp.png


After:
3qVLOb0.png
 
Last edited:
In my case I think average fps is not improved as much as 1% lows, generally it feels more smooth. For example where there are crowds. Cpu usage got massive increase as I said. Sometimes 2x...
 
Having a quick read on reddit about this, the source of the issue seems to be a well known and long standing problem of using Intel's compiler/libraries. They check for "genuineAMD" CPUs and if found they don't execute the code using all available threads.

This is the reason the fix was so specific and came out so fast as some people in the PC space were used to doing this work around in the past when Intel's shady compiler/libraries were used.
 
Before it was:

3cMbvMe.jpg


4 threads are not utilized (11% is windows probably)

In the video I posted earlier all of them at 60% +



But yeah with this game treats your CPU like it was Intel with monolithic design and low latency between cores, same applies to 5600x and 5800x but no other AMD CPUs, so there might be instances where performance would drop on multi CCX CPUs.
 
Doing this gave me a huge performance increase! I'm on a 3300X so that's probably why. Since it's a 4/8 cpu this basicly doubled the threads available for the game. Driving around in the city at day I would see drops to mid 30s. Now with the exact same settings I dron't drop below 50. GPU is 3060ti.
Absolutely crazy oversight by the devs.
 
Yeah, but they don't use Windows though.
Well xbox uses windows. A modified version but it is still the same core.
So it seems that there might be a bug in the game that some logic blocks threads. Because HT should bring that much more performance if the core is already heavily utilized. But if some code in the game 'blocks' a thread (e. G. endless loops) it would still jump from core to core but the units in the core could be still used by another thread on the same core.
 
M mrBarrelNut , this is back from 2005:


One of the claims in AMD's sensational antitrust complaint against Intel has been getting some play around the web lately. Specifically, folks are focusing on what AMD says about Intel compilers and how they react to the presence of AMD processors. Here's the meat of the claim, taken directly from the AMD complaint:

"Intel has designed its compiler purposely to degrade performance when a program is run on an AMD platform. To achieve this, Intel designed the compiler to compile code along several alternate code paths. Some paths are executed when the program runs on an Intel platform and others are executed when the program is operated on a computer with an AMD microprocessor. . . . By design, the code paths were not created equally. If the program detects a "Genuine Intel" microprocessor, it executes a fully optimized code path and operates with maximum efficiency. However, if the program detects an "Authentic AMD" microprocessor, it executes a different code path that will degrade the program's performance or cause it to crash."
 
The problem seems to be in this GPUOpen (AMD initiative?) library file:


It's not Intel compiler problem but it seems that for non-bulldozer AMD chips this is returning number of cores as the thread count:

DWORD getDefaultThreadCount() {
DWORD cores, logical;
getProcessorCount(cores, logical);
DWORD count = logical;
char vendor[13];
getCpuidVendor(vendor);
if (0 == strcmp(vendor, "AuthenticAMD")) {
if (0x15 == getCpuidFamily()) {
// AMD "Bulldozer" family microarchitecture
count = logical;
}
else {
count = cores; <--------------- HERE IS THE PROBLEM!
}
}
return count;
}

For non-AMD processors this returns the number of logical cores.
 
Last edited:
The problem seems to be in this GPUOpen (AMD initiative?) library file:


It's not Intel compiler problem but it seems that for non-bulldozer AMD chips this is returning number of cores as the thread count:



For non-AMD processors this returns the number of logical cores.

Great work, thanks for the correction. I was just reading about this myself after my last post.
 
So would this be impacting my 5600x? Also do we think is it something CDPR would prioritise fixing via an update.
 
Kinda ironic to have to do some Hex hacking on this game binary to make it perform better.
3700x/2070s : This tweak really smoothens the framerate in open city and while driving.
Final tweaking for this 1.04 version : 1080p/DLSS performance, shadows on medium, everything else maxed, RT all/RT lightning ultra, 33% sharpnening in Nvidia drivers.
Stable 60fps with a few dips in the 55s.
Can also play on 1440p/DLSS quality with everything maxed at 30fps, but .... meh.

Can't wait to play this in VR in 5 years :>
 
I tried this with my 3700X and still getting 60 with dips between 55-59 in busy areas. No big deal, except ow when I tab out and back in, the performance permanently drops to below 15 (slow down?) , even in the menu. I have to restart the game to fix it.

I'll be reverting the code back to normal as whatever gains I made are outweighed by the tab glitch, but hope it works for others. :)
 
Reverting back to the original version.

If anything it's made performance a bit worse on my 3900x.

Im running at 4k 30fps with dlss though so don't think CPU utilisation is a major issue at that resolution/framerate. My GPU is pegged at 100% utilisation regardless.
 
Last edited:
Before it was:

3cMbvMe.jpg


4 threads are not utilized (11% is windows probably)

In the video I posted earlier all of them at 60% +



But yeah with this game treats your CPU like it was Intel with monolithic design and low latency between cores, same applies to 5600x and 5800x but no other AMD CPUs, so there might be instances where performance would drop on multi CCX CPUs.


So this will not be useful for 5600x?
 
Long story short this just makes changes to how scheduling is done it seems thus the up in % on usage. The game will still dip into the 40FPS range when speeding down a road regardless of difference on CPU usage.

Pretty poor for a game that doesn't really have any simulation compared to GTA & RDR. I mean GTA has simulation running for WIND for fuck sakes.
 
Last edited:
Yeah I noticed this as well with my 3700x . Also memory clock speed also play a huge part in the performance. I've tested both 2100mhz (stock) and 3000mhz with XMP and the difference is around 10fps and sees much higher cpu usage with DLSS (when its getting cpu bound)
 
Tried on a 5600x, it increased usage of some threads, but made no difference to fps (probably because it's GPU limited). It also introduced some slowdown if I change some settings and go back to the game, so I reverted back to the original version.
 
This definetely made my Ryzen 3700x Usage go way up on all threads/cores. I think it made my FPS way better while on foot while on busy city streets. Unfortunetely im still dropping to low 40s while driving through the city though.
 
Is CP2077 the first game in "earliest access"? Where fans have to fix your game instead of your own developer?

Nope. For ultrawide users (like me) hex editors are part of their lifes because some devs are too lazy to change few lines of code :messenger_tears_of_joy:

So this will not be useful for 5600x?

This is THE MOST useful for 5600X and 5800X users. Now for CPU that has 4CCXs like 3900x or 3950x probably not...

Long story short this just makes changes to how scheduling is done it seems thus the up in % on usage. The game will still dip into the 40FPS range when speeding down a road regardless of difference on CPU usage.

Pretty poor for a game that doesn't really have any simulation compared to GTA & RDR. I mean GTA has simulation running for WIND for fuck sakes.

RT is killing CPUs, and this is true for almost every game with it. WDL has better driving Ai for sure but it also looks much worse and tanks lower.

And this fix WORKS, I can play with crowds on high now instead od medium.
 
Top Bottom