Solving a Windows CPU problem

At the start of the covid-19 lockdown I decided to finally put my new computer together. I had an old NeXT Cube into which I really wanted to put a blazing fast system, so I ordered all the parts, including an AMD 3800X 8-core CPU. All the bits arrived, I assembled the machine, and sold off the old PC. And then the trouble started.

I was doing some tweaking with ASRock’s A-Tune application, which allows me to tweak the fan curve, adjust the CPU performance mode, and similar things. Tweaking the fan curve just made the fan noisy, as if its PWM pulses were hammering at the motor instead of smoothly spinning it, so I gave up on that, but in the course of my button mashing I noticed something weird: my CPU was running 100% all the time.

All 8 cores were flat out, even though nothing was actually happening.

8 cores, 16 threads, all maxed out.

So I’d switch power modes, from Balanced to Performance, and all 8 cores would settle back down to a normal idle of about 4%. But then it started happening again. At idle, the CPU used 15-20 Watts of power, but at 100% that power use doubled, to 40W, and I didn’t really like the idea that something was making my CPU use twice as much power as it should. It wasn’t full-roar gobbling up the Watts, but for sure it was idling hot.

I tried all kinds of things. I got rid of A-Tune. Nothing worked, except briefly. I scoured the internet, and found a lot of people with similar problems blaming AMD’s Ryzen Master. I had installed this, but didn’t understand it enough to make any changes, so I uninstalled it when the problems started. I contacted ASRock, but they didn’t have any technical reasons to offer, and they suggested the OS was at fault. I posted on the ASRock and AMD forums, to no avail. I even tried reddit, that’s how desperate I was. No one had any ideas.

I reinstalled Windows 10 from scratch, leaving Corsair’s iCue software uninstalled because it was a resource hog, and these steps seemed to solve the problem. But then, a few weeks later, it started doing it again. There was no obvious cause, no recently installed application seemed directly at fault. The CPU just… couldn’t relax.

Internet searching revealed all kinds of theories. It was a virus, it was Ryzen Master, it was the BIOS, sunspots. None of these things seemed to apply, and the only thing that got better during my efforts was the fan noise: a BIOS update put the CPU fan in a better state and it ran a lot quieter.

But the CPU was still running full speed all the time. All eight cores were locked to the same speed.

All the cores are synchronized and running the same speed.

And then, after months of bashing my head against this problem, I stumbled across this thread on superuser, wherein the same problem was solved by setting IDLEDISABLE to 0. When it’s activated, IDLEDISABLE – as you might suspect – disables the CPU’s idle mechanism, which means it can’t spin down when it’s not under load.



That fixed things immediately. But what was setting IDLEDISABLE to 1 in the first place?

The cores are de-sync’d and free to idle as required.

And then it hit me. I know this. I remember this, I read about it years ago. It’s the capture card. My USB capture card, a wonderful XCapture-1 from Micomsoft, has a driver that sets the CPU to run without idling in order to minimize latency. When the CPU is running full speed, it’s always ready to deal with the extremely high bandwidth demands of video capture.

As soon as the PowerCfg settings are applied, the CPU drops to idle.

So as long as I leave the capture device unplugged, the CPU runs fine. I simply plug it back in when I need to use it, and everything’s OK. I created a batch file with only those two PowerCfg lines in it, and whenever I’m done with the capture device, I run the batch file to relax the CPU.

What an ordeal. What a complicated, hard-to-search-for pain in my old man’s ass.

And what a simple solution.

[ Oct 27 2020 ]

Got something to add?

Your Comment