Forum Discussion
Simple tip. May be usefull for you too. I have enabled manually the Resizeable BAR for Battlefield 2042 using NVIDIA Profile Inspector. This gave me over 4% FPS increase and no more stuttering.
I am on NVIDIA 496.84 HF driver. Gear: RTX 3090 & 10900KF.
To do that, find the following flags and set values accordingly:
0x000F00BA : 0x00000001
0x000F00BB : 0x00000001
0x000F00FF : 0x0000000040000000
Of course, your rig has to support the reBAR (enabled in motherboard's BIOS, proper GPU vBIOS with this feature).
- 4 years ago
To prove the above. The same map, same atmospheric conditions (sunny).
- 4 years ago
Hi,
Another part of performance improvement tips. My CPU is i9-10900KF 10C/20T.
We all know that BF2042 is heavy CPU dependent. This may and will influence DLSS functionality - higher the upscaling is = the higher load on CPU is required, but unfortunatelly there is no space for additional workload... Therefore some of us does not see FPS improvements with DLSS enabled. I have noticed, that playing DLSS=balanced or DLSS=performance my GPU utilization is around 70-80% and CPU utilization is around 30-35%. Something is not right.
Root cause:
By default game is distributing CPU load per physical core count. So in my case I will have only 10 working threads, loaded up to 70%. The remaining 10 threads does nothing.
Fix:
Work needs to be distributed on all available threads. This cannot be achieved from the in-game's console. The only way to influence on that setting is through the User.cfg file (which does not exist by default). However settings that influence the CPU workload distribution are slightly different than it was in former Battlefields:
Create User.cfg in game's installation folder with the following content:
Thread.ProcessorCount <core count here>
Thread.MaxProcessorCount <thread count here>
Thread.MinFreeProcessorCount 0
Thread.JobThreadPriority 0And now very important note: Thread.MaxProcessorCount cannot consume all available threads. If I set 20 game will crash on startup. Same for 19 and 18. The 17 is the max value I can use. In case of different processors you need to find the maximum possible value for your CPU.
It seems that this variable is not an exact thread count consumed by the game. For my processor, since Thread.MaxProcessorCount 14 load is distributed on ALL 20 threads. What does change from Thread.MaxProcessorCount 14-to-17 is the % of the max load possible for threads to consume.
Finally, my User.cfg looks like below:
Thread.ProcessorCount 10
Thread.MaxProcessorCount 17
Thread.MinFreeProcessorCount 0
Thread.JobThreadPriority 0And thanks to this I increased GPU load with DLSS, which means higher FPS in the situation when GPU was not maxed out earlier.
Here are some comparison screenshots.
Default settings, DLSS=Quality@3440x1440:
User.cfg settings, DLSS=Quality@3440x1440:
Default settings, DLSS=Performance@3440x1440:
User.cfg settings, DLSS=Performance@3440x1440:
In game's console Thread.* option changes does not take effect in runtime. You need to steer the variables from the User.cfg and start the game to see the difference! And don't get confused by seeing Thread.MaxProcessorCount 8 in game's console. It's the default value, which gets internally overwritten by the core count auto-detection made by game on startup. Unfortunately this auto-detection does not take hyper-threading into account...
Cheers!
UPDATE #1 :
Game's CPU core count auto detection works fine. Use "Render.DrawScreenInfo true" in game's console to see details. Core count is a total amount of the Threads. Good! No need to use Thread.ProcessorCount.
The "Job Threads" visible on that debug screen are an exact number of threads defined by Thread.MaxProcessorCount in User.cfg. By default it is 8 threads.
- 4 years ago
Thanks @7empePL
I have problems with my Ryzen 3800x with 8 cores and 16 threads.After using a user.cfg the game runs better and not only 9 cores were used now all.
Cpu usage in avarage raised from 61% to 85% in total
Stuttering is still existing but less often.With the 3800x i used this config file:
Thread.ProcessorCount 8
Thread.MaxProcessorCount 16
Thread.MinFreeProcessorCount 0
Thread.JobThreadPriority 0
About Battlefield 2042 Technical Issues & Bugs
Recent Discussions
- 3 hours ago
- 13 hours ago
- 14 hours ago