Ealier this week, a post on Facebook showcased a method to fix CD Project Red’s latest game release, Cyberpunk 2077, by means of replacing one line of hex code in the main executable file. This file is usually the main software running what ever program you are executing. However, with large, complex software, like a video game, the executable isn’t the bulk of the code you’re running. It’s more of a loader for the main core of the game. And usually it will detect what processor and other drivers it will be using to optimize the game’s performance, as well as making sure it’s not trying to use something unsupported. In this specific case, the game wasn’t utilizing AMD processors correctly. My current processor has 6 physical cores. These have two logical cores within each physical core – adding up to 12 total “cores”. Cyberpunk was running as if there were only 6 cores it could use, not seeing that it could use all 12 logical cores to do work. This made the game perform worse that it should on AMD processors. But with this fix outlined below, I gained 10 frames per second with the mid settings (a couple on high) and a full 144 on menus and stills.
Simon’s fix (shown above) is actually simple for intermediate PC users:
Cyberpunk 2077 seems to ignore SMT and mostly utilize physical CPU cores on AMD, but all logical cores on Intel CPUs.There is a simple fix for this.
- Download Hex Editor https://mh-nexus.de/en/hxd/
- Open the EXE with HXD (Hex Editor).
- Press CTRL+F, change column to Hex-Values
- Look for -> 75 30 33 C9 B8 01 00 00 00 0F A2 8B C8 C1 F9 08
- Change to -> EB 30 33 C9 B8 01 00 00 00 0F A2 8B C8 C1 F9 08And it’s done. As you can see now the CPU usage and the frame rate are way higher.
Since I have a PC, these kinds of fixes are simple and the game runs amazingly well for a computer with mid settings and a 6 year old graphics card. The console version however is a disaster, and the bugs I’m seeing are wild. The PC version seems to have been the benchmark for them, since it has the usual bugs you’ll find on launch day (things they missed, stuff a patch can easily fix), but the console has an plethora of weird and game breaking bugs or glitches. Still hasn’t bricked any consoles like the new Call of Duty did, but the bugs they left in are causing a lot of people to give up on playing, making them feel cheated by, what was once, the last quality game developer left in the market.
It has gotten to the point of game companies (and most corporations today) being so heavily involved in PR and advertising hype, we have to rely on the internet to figure out how to optimize the final product. Launch days are no longer launch days, they are beta release days disguised as launch days. Why beta test it and waste money when you can have the whole customer population that’s going to buy it, play test it for you? If you don’t play video games, or haven’t noticed, there is now an option within the settings of newer games to “send usage statistics” back to the developer. What does it do? It’s a common feature found in most modern software which allows the developers to gather statistics on a massive number of different machines and configurations, giving them information that previous generations of could only dream of. With it they can fix bugs that beta testing might have never been able to find. I honestly find this system to be brilliant – if it was for legitimate beat testing purposes. Instead, it is used to bypass internal bug testing and pass the work (for free) onto the customer. I’m a big fan of CDPR, but this is a step in the wrong direction. It’s clear the business model EA and Activision fostered is now industry standard.