Over the Christmas holiday, my laptop began to always underclock the CPU, leading to performance issues. Interestingly, the performance issues were not nearly as bad as I would have thought they should have been. After some Googling, I pieced together a few forum threads here and there related to constant CPU underclock—none related to my laptop or CPU model, and most well over a year old—but a few posts recommended disconnecting the battery. It solved the problem.
TL;DR: Disconnect the battery and reconnect it. Make sure the fans aren’t full of dust.
Laptop: Dell Precision 5510
CPU: i7-6820HQ @ 2.70GHz
GPU: Intel HD 530 and Nvidia Quadro M1000M 2GB
RAM: 16GB
OS: Win 10 Pro
The Problem
I first noticed the problem when playing Rocket League. The game loaded much slower than usual and frames were dropping from my usual 60FPS.
Along with the gaming issues, build times of a C++ project in Visual Studio took ages. While compiling, it seemed to be limited to ~24% of the whole CPU (as reported by the Task Manager), just like a single-threaded application will switch between cores while only utilizing a small fraction of each core’s capability. I know for a fact that MSVC is multithreaded and this project previously would use all cores to compile, so something was obviously wrong.
I like to have the Task Manager open to monitor CPU usage while I code, so I’m pretty familiar with the usual speed characteristics of the CPU. This i7 usually downclocks to 0.80 GHz and can run at 3.34 GHz for short periods of time. However, the CPU was not clocking above 0.78 GHz for any reason.
The Path to a Solution
After discovering the clocking issue, I figured temperatures might be an issue. Nope, it wasn’t getting above 38° C while under load. Fans not running? The applications I used to check temps weren’t reporting fan speeds, but I could hear them running slowly and feel a slight breeze at the vents.
I updated the NVidia drivers (23.21.13.8816) with the Dell Command suite and it seemed to help quite a bit with frames, although it wasn’t the usual rock-solid 60FPS in Rocket League the laptop had before. Clocking issue continues.
Using the Dell Command software suite, I also updated the BIOS to 1.5.1 and the Bluetooth driver to 19.60.0.3 (why not?). These two updates didn’t seem to do anything (as expected).
After some Googling, I figured I would try disconnecting the battery. I didn’t think it would work, but it did.
So, my guess is that somehow the laptop got into an overheated state at some point and went into an emergency state that downclocked the CPU. For whatever reason, it didn’t leave that state; removing the power cleared the state and restored the full functionality of the CPU.
Some Interesting Findings
This issue showed me that you can run Rocket League at 60 FPS @ 1080p with an i7 CPU clocked at 0.78 GHz (and not at potato graphic settings, either). That’s pretty amazing. You’ll lose some frames here and there, and the first ten seconds in the game are terrible, but you can play decently competitively with it.
I also discovered the ThrottleStop application. I didn’t use it, but it is cool to see there is a solution to control CPU throttling.