PDA

View Full Version : AC4 CPU utilization



peshu
11-23-2013, 10:20 AM
The game uses 1 core at 100%, the second at 50-70%, the other two at 0%. I thought it required quad core. AC3 used all 4 cores on my rig. No wonder the game is crawling.

ace3001
11-23-2013, 11:00 AM
It certainly doesn't require a quad core, despite the system requirements listing a Q8400 as minimum. I'm even running this game on a Pentium G2030. Close to 100% used on both cores, and I'm getting a solid 30 FPS.

peshu
11-23-2013, 11:08 AM
Are you satisfied with 30 FPS, the game stutters like hell when the FPS drops below 60.

D.I.D.
11-23-2013, 01:00 PM
All ACs were like this, don't know why. Neither of the AC engines has ever made a big demand on the processor, and it's always called to the first two cores only. AC1-ACR had especially horrendous crashing problems on my computer, until I locked off CPU2 and CPU3 (3rd and 4th cores, since they start on CPU0) in the Affinity settings inside Task Manager. The introduction of Anvil Next in AC3 fixed that at least, and now I'm having a great time in ACIV:BF despite my aging CPU and low end 650Ti card. It might not be using much of the processor, but at least it looks great. The best gameplay of the entire series, too.

b00gjuice
01-03-2014, 06:14 AM
Okay, I fixed this for me.

Note: I have a Six Core i7 4930K for CPU, GPU is 780ti, RAM is 16GB, OS is Win 8.1.

Problem: AC4 rails CPU core 1 to 100% with very little usage on other cores.

After a few days of experimenting I found that AC4 does not like more than 4 cores including hyper-threading. So I disabled hyper-threading in my bios leaving me with 6 real cores in task manager but AC4 still railed Core 1 @ 100%. So I used task manager to set affinity on the AC4 executable experimenting with enabling/disabling cores. If I run 3 or 4 cores only then I get pretty even usage across the cores with core 1 always a bit more but never railing @ 100% and the other cores have between 40-60% usage. If I enable all 6 cores the game immediately goes back to railing Core 1 @ 100% with very little usage on the other cores.

So maybe you guys can experiment and see if you get the same results.

YazX_
01-03-2014, 11:13 AM
Okay, I fixed this for me.

you cant fix it, this is by design and how multi-threading is used in game, total utilization of CPU is 2 cores whether you have 1000 cores or dual core, Core1 always sitting on 90-100% because there is a heavy thread sitting on it (i would assume this is the main game thread), other cores are utilized 15-30% because of other opened threads.

the way threads are divided across cores is handled by O.S unless the software explicitly specifies which core to use for each thread, same goes for Intel HyperThreading. so in AC games, main problem in main game thread which is not properly multi-threaded and sits on core1 with 90-100% while other cores are just doing nothing.

why it is like this? because its unoptimized port from old gen consoles limited to use only 2 cores.

only solution for this problem is for Ubisoft to stop supporting old gen consoles and change the engine's code to properly utilize hardware OR to take their time in optimizing PC version after porting it from old gen consoles.

b00gjuice
01-07-2014, 12:43 AM
you cant fix it, this is by design and how multi-threading is used in game, total utilization of CPU is 2 cores whether you have 1000 cores or dual core, Core1 always sitting on 90-100% because there is a heavy thread sitting on it (i would assume this is the main game thread), other cores are utilized 15-30% because of other opened threads.

the way threads are divided across cores is handled by O.S unless the software explicitly specifies which core to use for each thread, same goes for Intel HyperThreading. so in AC games, main problem in main game thread which is not properly multi-threaded and sits on core1 with 90-100% while other cores are just doing nothing.

why it is like this? because its unoptimized port from old gen consoles limited to use only 2 cores.

only solution for this problem is for Ubisoft to stop supporting old gen consoles and change the engine's code to properly utilize hardware OR to take their time in optimizing PC version after porting it from old gen consoles.

Of course I didn't fix the un-optimized code that won't fully utilize the CPU. I fixed the issue where my Core1 (core 0) would rail @ 100% usage and the other cores had very little usage. I played the game for several hours of the weekend watching CPU utilization in task manager on my 2nd monitor and always had a balance of CPU usage across 4 non-hyperthreading cores when I 1) disabled hyperthreading, 2) set affinity to only use core 0-3 (4 cores).

Frag_Maniac
01-07-2014, 01:39 AM
Have you tried unparking your CPU cores? There's been a lot of buzz lately on some fairly respectable tech forums claiming it helps smooth out gameplay noticeably. Unfortunately you're going to get best results in games that actually do utilize all 4 cores well, like BF 3&4, but it's worth a shot.

Core parking is done through Windows, it's a power saving feature that Windows 7 (and 8 as far as I know) uses. You can disable it either manually via a registry edit, or via a free tool a guy that goes by CoderBag made. I used the tool because it's quick and convenient and easily reversible.

I did a lot of back to back incapacitate and boards on Man O Wars after using it and it seemed to have taken some of the micro stutter out of ship maneuvering, but it's kinda hard to tell because sometimes that stuff just goes smoother after rebooting and starting a new session, then deteriorates over time. I didn't test it too thoroughly.

CoderBag has two tools. One that checks status of and unparks/parks cores, and one that can set the percentage of use for the cores.

Glaneon
01-08-2014, 03:13 AM
I'm running my Core i7 w/HT turned off (leaves 4 cores) - and same thing.. just core 1 in use. Game runs horribly.