Windows 7 does not handle multi core cpu’s very well, especially over 4 cores. Tonight I decided to check a few setting using Battlefield’s 4 test range. After entering I was stuttering all over the place, very choppy and my fps was between 25-50. Before this I was running fairly smooth with 60-90 fps, with low drops to 50. Not sure what happened, updated drivers 4 days prior, no Windows updates installed recently for I have turned off and once a week I manually check, and all currently updated.
I brought up Battlefield 4’s console, and entered perfoverlay.drawgraph 1, my cpu (yellow line) was spiking ALL over the place. My cpu is a AMD FX 8350, 8 core processor. This was not like this the day before, or days prior. I tabbed out, brought up task manager, performance tab, resource monitor and it showed 4 of 8 cores “Parked”,,, no activity at all, sleeping?? 1-4 cpu cores were going from active to parked and back to active randomly. 2 or 3 at a time while trying to game. I exited out of test range, and watched the cpu performance tab, 4 cores still “Parked”, watched a youtube video, started a virus scan,, still 4 cores parked. It took Prime95 stress test to wake up, and utilize all 8 cores up.
Might want to monitor this while in game to see if you have any cores going into “parked”, sleep, non active state. Unparking the cores on my AMD FX 8350 helped tremendously, heard few others tried and it worked for them, while others had no change at all. Have no idea if they applied it correctly.
“Un Parking Cores” mainly pertains to 8-core AMD’s or Intel i7 (sandy bridge or newer) for this below, is an awesome tweak. For windows 7 mostly. This tweak unleashes the full potential of frostbite 3 engine by enabling access all eight threads available. Core Unparking however has no effect on performance with i5 or AMD 4-core processors in Battlefield 4.
The photo to the right (click on for larger view), I can’t show you all 8 cores. This picture is AFTER I applied the registry fix. If your system is parking cores, next to CPU1, CPU 2 etc it would randomly show “Parked”.
If you do show cores “Parked”, you might want to check this Core Parking Fix For Windows 7 below, it worked great for myself. I applied registry fix, shut down, restarted pc. Resource monitor while pc was idle showed all 8 cores running, none of them showed “parked” as before. I entered Battlefield 4’s test range again, smooth as butter, ran very well. I have my FPS locked at 70. It dropped once to 59, but held at 70 the entire time. I tabbed out, opened task manager, resource monitor, CPU performance reported all 8 cores working. 47-58% usage during game.
Disabling my fps command cap, was then showing 70-135 fps, with an average of 85-110, and smooth. No more low frame drops below 60 now. Hardware: AMD FX 8350, AsRock 990FX Extreme9 motherboard, Asus GTX 660 TI, 16Gb Ram at 1080p. CPU overclocked at 4532 Ghz.
Click on Edit Menu at top, click on “Find”,
copy and paste 0cc5b647-c1df-4637-891a-dec35c318583 to find this key.
– Find this key: 0cc5b647-c1df-4637-891a-dec35c318583
– Within this key, there is a value called: “ValueMax”
– This value represents the % number of cores the system will park – the default 100% ie: all Cores are potentially park-able. My default Windows 7 “ValueMax” was at 64 (64%).
– Change the value from 64 to 0 so the “ValueMin” and “ValueMax” are both zero.
– You will have to find the key a few times and repeat the above process for each time it is found. The number of instances will depend on the number of power profiles present in your system
(It was only found once on my system)
– Do a FULL shutdown and power-off followed by a cold restart of your system.
Check your resource monitor after a cold restart, there should be no cores showing “Parked”. All cores active. Check resource monitor while in game, and hopefully your game is running smoother than before.
Important: making edits in the system registry can do more harm then good IF & WHEN they are entered wrong. Always back up your registry or create a manual System Restore point. This edit above works fine on Windows 7, making sure it is entered correctly.
2. Disable CPU Core Parking Utility – Recommended
An easier method is using Disable CPU Core Parking Utility software. Information Link Here. I initially used the registry edit above. “Note that for the change to take effect you will have to reboot your machine. Also Utility should run with Administrator priveleges in order to be able to access registry. This utility does not require installation.”
3. Or using ParkControl – Also Recommended
Tweak and monitor core parking in real time!
And More About Parked Cores:
Hotfix From Microsft: http://support.microsoft.com/kb/2646060
Virtual Private Network (VPN) – Private Internet Access
Power Saving Features – Disable In Bio’s:
In order to take full advantage of this, you must make sure all power saving features in your motherboard Bio’s are turned off – Cool & Quiet, C1E, C6, APM (Advanced Power Management) etc disabled. Unparking cores will give you all cores active, but those power saving features if enabled, might be clocking your overall Ghz speed up & down while gaming. I have definitely seen this happening also when at stock default settings & speed. When I overclock all the power savings features I turn off.
Power Saving Features – Control Panel:
If you have a setting in your Power Scheme (Control Panel) make sure it is set to Maximum or High Performance just to be sure also. Control Panel > Power Options > Change Plan Settings > Change Advance Power Settings > Processor Power Management > Minimum Processor State = 100%. Make Sure Max is set the same. Click Apply, then OK.
And now found a rivaLxfactor video on the same…..
And from DICE:
“We are investigating this at DICE. Some of the graphic lag is related to how the OS handles the CPU cores. The main reason the game runs better in Win 8 is due to better handling of the cores. We will get back to you when we have investigated this.”
Few weeks later, I re-enabled core parking on my AMD FX 8350, the way it was in the registry to watch exactly during game what was happening. My “ValueMax” was initially set at “64”, and set it back to 64 on 2 lines in registry. During game I had the the usual good smooth fps of 70-95, and many big frame drops down to 30-35 again, WITH core parking enabled. I tabbed out of game to eyeball resource manager on all 8 cores. Cores were randomly going “Parked”,, to all active during game. 1 to 2 to 3 cores at a time going “Parked”, sometimes 2 & 3 cores at a time going parked for a few seconds, then all back to active. What do think was happening with my 8 cores when I had those 30-35 low frame drops?? Exactly, every time I had low 30-35 fps frame drops and stuttering, from 80++ fps I showed 1-3 cores randomly going from all active state to “parked”, and back to all active. All through out the game, I was actually spectating, 1st person just to watch this. And it was NOT the same cores either. Confirms how screwed up, non optimized this game truly is. BF3, core parking set the Windows had it, which was enabled all cores ran flat out all active the entire game with a smooth steady fps,,, with Battlefield 3. I disabled core parking after this test. Frame rates stabilized back 60-95, smooth and did not drop below 60 not even once, with core parking disabled,, all cores active 100%. Average cpu usage during game on the AMD FX 8350 of 40-55%. Temperature during game 36-38C. Reset console fps cap back at 70.