2

On a 2600x 6-core 12-thread CPU the game is using only 8 threads at 100% usage with other 4 on idle.

enter image description here

You cannot change/unlock or do anything with e.g. Process Lasso, it is hard-locked at 8 threads only.

It also hard-locks the bf.exe process priority to Normal only. You cannot change it via Process Lasso or simply Task Manager, you just get an error.

Cannot tweak your own Windows system, optimize or fully utilize your system for maximum gain. Hard-stuck at <60fps.

Why? How to work around?

3
  • One possible reason would be if the game simply doesn't support any more than 8 threads. Also, changing the priority of a process may improve its performance, but if the process relies on other processes, those other processes might not get enough CPU time, which could hurt the game's performance, as it is waiting for the other process to do its work.
    – Nolonar
    Oct 6, 2021 at 20:44
  • I find it hard to believe game this size that is CPU-heavy dependent because of 128 players per server does not support more than 8 threads. And even if it didn't, why would it lock out other software or anything else from changing the affinities for the .exe process? Pretty sure it's the anti-cheat, which is really silly if true. Oct 6, 2021 at 20:46
  • the build is a few months old (as far as I know)so it could have been a bug that is hopefully fixed when the full game releases. Oct 7, 2021 at 9:23

1 Answer 1

6

Fixing this is quite easy:

In the folder where your Battlefield 2042 EXE is (default: C:\Program Files (x86)\Origin Games\Battlefield 2042), create a new file called user.cfg. (Mind that you have to turn off the "Hide extensions for known file types"- option in Windows Explorer to do this properly) Edit the new, empty, file and put this in:

Thread.ProcessorCount <Your thread number>
Thread.MaxProcessorCount <Your thread number
Thread.MinFreeProcessorCount 0
Thread.JobThreadPriority 0

In your %UserProfile%\Documents\Battlefield 2042\settings folder, open the file "PROFSAVE_profile" and add / edit this line:

GstRender.Thread.MaxProcessorCount <Your thread number>

Obviously you have to replace <Your thread number> with the number of threads your CPU has available. For a 2600X that would be 12. Beware that the game currently does NOT support > 16 threads (for some reason) and configuring more than 16 will get you an immediate crash on startup.

You can check if it works in game by using the console key (^):

Render.DrawScreenInfo 1

The displayed value of "Job threads" should jump from 8 (default) to your configured setting. For me that is:

Battlefield 2042 DrawScreenInfo displaying 16 "Job threads" used

Screenshot from Task Manager:

Task Manager - Battlefield 2042 with 16 threads

If I could help you, you know what to do ;) - I wish you happy fragging!

2
  • I don't think this was possible during the beta. Selected as correct answer. Nov 22, 2021 at 18:27
  • 1
    @user3108268 It was. I have been doing this since and including the beta ;)
    – showp1984
    Nov 22, 2021 at 19:10

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .