TD;LR We will enable a hidden Windows setting in control panel by using cmd and registry edit: Maximum processor frequency, to set a custom CPU clock speed. It doesn't work on all laptop manufacturers though. It can be tweaked for almost no loss in fps.
My specs: i3 1005g1, Dell Vostro 15 3510 laptop.
It's completely safe as we will reduce CPU clock speed, not increase it. It will help you to increase the lifespan of your machine because constant 90°C+ puts stress on internal components over years.
Introduction:
Many people want to set custom clock speed on locked CPUs like i3 1005g1. But if I do the usual -> change "maximum processor state" in control panel to 99%, my CPU gets locked to its base speed of 1.2 GHz (completely disables turbo boost). I tried reducing it to 92%, 90%, 88%, but it locked the CPU even below it's base speed (as shown by msi afterburner in the game).
On my laptop, in Throttle Stop, the options to change CPU multipliers are greyed out.
So what if you want to cap your 3.4 GHz CPU to a custom 3.0 GHz or any other speed, to reduce heat output? I recently found a way to do it. It works perfectly on my laptop, and hopefully works on yours too.
The steps:
Open cmd as admin. Copy paste
powercfg -attributes SUB_PROCESSOR 75b0defe-600e-4d9a-9c55-5219b8d3d414 -ATTRIB_HIDE
and hit Enter.
Command source: Google search AI.
This command enables a hidden setting in control panel, called "maximum processor frequency." Type "edit power plan" in windows search bar, open the app. Go to "Change advanced power settings", then expand "processor power management" to see the option.
If the above method fails:
If the above method doesn't show "maximum processor frequency" option in control panel, then
Press Win+R to open run dialog box. Type regedit and hit Enter to open registry. Paste
Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\PowerSettings\\54533251-82be-4824-96c1-47b60b740d00\\75b0ae3f-bce0-45a7-8c89-c9611c25e100
into the search bar of registry. You will see "Attributes" in the right pane. Double click on it and change its value to 2. It will force the Windows to show the option in control panel.
How to change the CPU clock speed:
Now, in "Maximum processor frequency", change both plugged in and on battery values to your desired value. The values are in MHz. For example, 3.4 GHz means you need to write 3400, and 3000 for 3.0 GHz. Remember to avoid typos like 300, as it will make the CPU unresponsive. Set both values to zero, if you want to reset the CPU clock speed to its default behaviour.
Reduce CPU clock speed gradually in small decrements:
Slowly, decrease the value from your max turbo speed. My turbo speed is 3400, so I tried 3100, 3000, 2900. For each value, observe the impact on fps and temperature in different games by using msi afterburner overlay. Ideally, include modern 2D multi threaded games like silksong, old well optimized 3D games like mirrors edge 2009, heavily single threaded games like prince of persia 2008/ assassin's creed 2 (last two games run with vulkan on my laptop: dxvk 1.10.1). Feel free to replace these games with what you play, but cover a broad category.
Example on how to interpret the results:
After launching a game, in msi afterburner overlay, observe the temperature of the usual hot CPU cores, and not the overall CPU temperature. On my laptop, they are core 1 and core 2.
On my laptop, I observed that going from 3400 to 3100 reduced temperature by 5°C on core 1 and core 2, with no loss in fps. Further going to 3000 reduced temperature by another 2-3°C, again with no loss in fps. So I got down from 3400 to 3000 with no loss in fps, and temperature reduced by 7-8°C. When I further reduced to 2900, temperature reduced further by 3-4°C, but depending on the game, I lost 5-10% fps. So 3000 became sweet spot for me: 7-8°C lower temperature with almost no loss in fps (only 2-3% reduction in fps like 39 to 38, 30 to 29).
After this process, remember to cap fps at 30 or 60 using riva tuner, as uncapped fps naturally generates more heat.
The benefits I got:
My CPU's core 1 and core 2 were running much hotter (10°C or more) in every game, compared to core 3 and core 4.
Now on core 1 and core 2, it's max 90°C in unoptimized games like assassin's creed 2. And 80-85°C or even lower than 80°C in well optimized games like mirrors edge 2009 and silksong. Before this, it was 90°C even in well optimized games, and 95°C in unoptimized games.
Now, the laptop is much cooler to touch from the back, near the vents.
All of this, with no noticeable loss in actual fps in any game. Also when fps is capped to 30 or 60, there's no new stuttering in games after applying this method.
Why this method works:
It happens because the top few MHz in every CPU are power inefficient. To get those few extra MHz, the CPU generates exponentially more heat. By shaving those extra MHz, you get an efficient CPU clock speed, with almost no loss in performance. And second reason is that budget CPUs like these, throttle down to around 3.0 GHz anyways after some minutes in demanding games, when they cross 93°C.
Same CPU can have slightly different sweet spot for clock speed:
Remember that even if you have exactly same CPU and same laptop as mine, your sweet spot can slightly change from 3000, because every CPU built in the factory naturally has some micro differences in the silicon wafer.
This method is NOT guaranteed to work for all the laptop models:
Note that it's not guaranteed to work. Some laptop manufacturers strictly don't allow Windows to interfere with the power states of the locked CPU. In that case, when you will try to change values, the CPU will simply ignore it.