• Welcome to TechPowerUp Forums, Guest! Please check out our forum guidelines for info related to our community.

HD 4600 throttles due to 'GPU POWER' limit, any ideas?

Joined
Jan 3, 2020
Messages
5 (0.06/day)
System Name Toshiba Satellite Pro A50-A
Processor Intel Core i3-4000M @ 2.4 GHz
Motherboard Toshiba FAWFSY1
Cooling Toshiba G61C0001H210
Memory 2x 2 GiB SK hynix HMT425S6AFR6A DDR3-1600
Video Card(s) Intel HD Graphics 4600 @ 1.1 GHz
Storage HGST HTS545032A7E380, 320 GB, 5400 RPM, 8 MiB, SATA
Display(s) LG LP156WH4-TLD1, 1366x768, 60 Hz, 6-bit, FPD-Link
Case Toshiba Satellite Pro A50-A
Audio Device(s) Realtek ALC283 HD Audio Codec
Power Supply Delta SADP-65KB Rev. A, 65 W
Mouse Alps 2-button PS/2 TrackPad
Keyboard Toshiba G83C000DU2JP, JIS 87-key layout
Software Microsoft Windows 7 Ultimate Edition x64, Service Pack 1
I believe this issue has something to do with the HD 4600's power limits, but I'm not exactly sure if that's the actual problem. According to ThrottleStop 8.70.6, it indicates a red 'GPU POWER' box to display that it's throttling hard.

powerlimitreached.png
This is how it looks under the influence of power limit throttling. The power limit seems to only kick in under GPU-intensive tasks, and not under CPU-intensive tasks.

turbopowerlimits.pngfivrcontrol.pngmmiopowerlimits.png
My previous power limited run was done with this configuration set (Turbo Power Limits, FIVR Control). In another run, I've tried using PowerCut to trick the Core i3-4000M into thinking that it used far less power to prevent the power limits from setting in. Unfortunately, that didn't work either. The 'GPU POWER' box still popped up with PowerCut enabled. Then I tried another way to get around this annoying problem, MMIO addresses FED159A0 and FED159A4, which stored the long and short term power limits. Again, unfortunately it appears that my laptop doesn't seem to use the MMIO method to control the power limits. At least that's what I could tell from the values in there, I might be wrong though.

limitreasonsatidle.png
Under next to no load applied, this is how the Limit Reasons window looks like. I guess you could say it's idling.

Does anyone have a clue on what's going on with my laptop? I'm completely lost in this, seeing that adjusting the values in ThrottleStop's power limit window had no effect.
 

unclewebb

RealTemp Author
Joined
Jun 1, 2008
Messages
1,590 (0.37/day)
Have a look in MSR 0x640

When running the GPU-Z Render Test, when this register is set to 0x8050 I get GPU POWER throttling like you are seeing.



In the number 0x8050, the 8 is the enable bit.
0x50 hex = 80 decimal
To convert that to Watts, you need to divide that by 8.
80 / 8 = 10 Watts

I then changed this to 0x80A0 while the GPU-Z Render Test continued to run.
0xA0 is double 0x50 so the Intel GPU should be at a power limit of 20 Watts now.
No more throttling.



You can see the big increase in GPU MHz, now running at a consistent 1150 MHz.
You can also see a big increase in the Intel GPU power consumption graph.
17.2 Watts is less than 20.0 Watts so no more iGPU throttling.

This CPU uses the same HD4600 iGPU that your CPU uses. With a higher power limit, it is running almost 3 times as fast.

Your laptop manufacturer might have set the lock bit on MSR 0x640. If you find something funny looking in there, let me know what it is and I will try to decode it for you.

Edit - I decided to write 0x8000 to the iGPU Power Limit register just to see what would happen. The 8 is the enable bit so technically, this is setting the power limit to 0 Watts. The reward for doing this is permanent GPU throttling. The iGPU is running at the same pathetic 400 MHz that your iGPU is running at. Perhaps the bios is accidentally screwing up this power limit register.

 
Last edited:
Joined
Jan 3, 2020
Messages
5 (0.06/day)
System Name Toshiba Satellite Pro A50-A
Processor Intel Core i3-4000M @ 2.4 GHz
Motherboard Toshiba FAWFSY1
Cooling Toshiba G61C0001H210
Memory 2x 2 GiB SK hynix HMT425S6AFR6A DDR3-1600
Video Card(s) Intel HD Graphics 4600 @ 1.1 GHz
Storage HGST HTS545032A7E380, 320 GB, 5400 RPM, 8 MiB, SATA
Display(s) LG LP156WH4-TLD1, 1366x768, 60 Hz, 6-bit, FPD-Link
Case Toshiba Satellite Pro A50-A
Audio Device(s) Realtek ALC283 HD Audio Codec
Power Supply Delta SADP-65KB Rev. A, 65 W
Mouse Alps 2-button PS/2 TrackPad
Keyboard Toshiba G83C000DU2JP, JIS 87-key layout
Software Microsoft Windows 7 Ultimate Edition x64, Service Pack 1
Thanks for the informative reply, I didn't know that MSR 0x640 had something to do with this...

msr0x640.png

As it's blank, nothing is stored in that register for some reason. I have a feeling that something is definitely not right with the UEFI, because I certainly don't remember my Core i7-3540M (in another laptop) showing this register being empty.
 

unclewebb

RealTemp Author
Joined
Jun 1, 2008
Messages
1,590 (0.37/day)
Blank means it is not being used. There is usually a duplicate of this register in the MMIO that might be set. The wrong value in either one can hold you back. Not sure if I can find it but I will have a look for it later today.

By default, MSR 0x640 is blank in my laptop. I just set it to different values for testing purposes.
 
Joined
Jan 3, 2020
Messages
5 (0.06/day)
System Name Toshiba Satellite Pro A50-A
Processor Intel Core i3-4000M @ 2.4 GHz
Motherboard Toshiba FAWFSY1
Cooling Toshiba G61C0001H210
Memory 2x 2 GiB SK hynix HMT425S6AFR6A DDR3-1600
Video Card(s) Intel HD Graphics 4600 @ 1.1 GHz
Storage HGST HTS545032A7E380, 320 GB, 5400 RPM, 8 MiB, SATA
Display(s) LG LP156WH4-TLD1, 1366x768, 60 Hz, 6-bit, FPD-Link
Case Toshiba Satellite Pro A50-A
Audio Device(s) Realtek ALC283 HD Audio Codec
Power Supply Delta SADP-65KB Rev. A, 65 W
Mouse Alps 2-button PS/2 TrackPad
Keyboard Toshiba G83C000DU2JP, JIS 87-key layout
Software Microsoft Windows 7 Ultimate Edition x64, Service Pack 1
Ah, that explains it. For a second I thought it was unusual for it to be blank.

I went with your power limit setting of 20 watts, and it seems that it has completely eliminated the HD 4600's throttling problem. I guess it's solved, but should I be worried about bit 23, 22, 19, and 18 being set in MSR 0x640? Those bits automatically set themselves to '1' after a few minutes of gaming. Could it be related to the duplicate hiding in the MMIO address space? Or is this considered normal?
 

unclewebb

RealTemp Author
Joined
Jun 1, 2008
Messages
1,590 (0.37/day)
Bits [23:17] control the iGPU turbo time limit. If these bits are changing, there must be a driver or something on your computer that is doing this. Do you have the Intel Dynamic Platform and Thermal Framework (DPTF) driver running on your computer? Have a look in the Device Manager for this. Maybe it is causing problems with this register. If you find this driver and want to get rid of it, you will have to do some Google searching to keep Windows 10 from re-installing it.

Edit - It could also be the Intel GPU driver that is changing this MSR. What Intel GPU driver version are you using?



I went with your power limit setting of 20 watts, and it seems that it has completely eliminated the HD 4600's throttling problem.
If this has fixed your problem then I would go one step further and I would set the lock bit which is bit[31]. Once this is set, MSR 0x640 can no longer be changed by any software or driver. Tell me exactly what works best for you and maybe I can do you a favor and build this feature into ThrottleStop so you do not have to mess around with RWEverything. I never got around to adding control of this register to ThrottleStop. Not enough demand since most users are usually gaming on an Nvidia GPU.

When set to 20 Watts and you run the GPU-Z Render Test, does the iGPU run consistently at 1100 MHz? That is the maximum speed. My laptop uses the same HD 4600 iGPU. It can go up to 1150 MHz but your iGPU seems to be limited to 1100 MHz.
 
Last edited:
Joined
Jan 3, 2020
Messages
5 (0.06/day)
System Name Toshiba Satellite Pro A50-A
Processor Intel Core i3-4000M @ 2.4 GHz
Motherboard Toshiba FAWFSY1
Cooling Toshiba G61C0001H210
Memory 2x 2 GiB SK hynix HMT425S6AFR6A DDR3-1600
Video Card(s) Intel HD Graphics 4600 @ 1.1 GHz
Storage HGST HTS545032A7E380, 320 GB, 5400 RPM, 8 MiB, SATA
Display(s) LG LP156WH4-TLD1, 1366x768, 60 Hz, 6-bit, FPD-Link
Case Toshiba Satellite Pro A50-A
Audio Device(s) Realtek ALC283 HD Audio Codec
Power Supply Delta SADP-65KB Rev. A, 65 W
Mouse Alps 2-button PS/2 TrackPad
Keyboard Toshiba G83C000DU2JP, JIS 87-key layout
Software Microsoft Windows 7 Ultimate Edition x64, Service Pack 1
I'm absolutely sure that I don't have the Dynamic Platform and Thermal Framework driver installed, as it doesn't show up in the device manager.
devicemanager.png
hd4600driverver.png

It's not in the 'System devices' category, and it doesn't have its own specific category displayed in here. I'm guessing that it was only meant for Windows 10? I don't seem to recall Windows 7 having such a driver made for it. Also, my Intel GPU driver version is 10.18.14.5074. Made specifically for Windows 7 and 8.1 as far as I know.

If this has fixed your problem then I would go one step further and I would set the lock bit which is bit[31]. Once this is set, MSR 0x640 can no longer be changed by any software or driver. Tell me exactly what works best for you and maybe I can do you a favor and build this feature into ThrottleStop so you do not have to mess around with RWEverything. I never got around to adding control of this register to ThrottleStop. Not enough demand since most users are usually gaming on an Nvidia GPU.
Thank god there's a lock bit, thanks for letting me know about this. I'm fine with using RWEverything to get around this problem, by the way. I doubt it's worth the hassle for you to add a feature that solves a problem, which only a few have with their laptops like you mentioned.

I'm grateful for the fact that you developed ThrottleStop and additionally helped me with this irritating throttling issue. That's all I could ask for, really. Adding that feature would be considered a big bonus from this ordeal, but I honestly don't see a need to go for the extra mile. I'd feel guilty if you were to use more of your own personal time on this topic.
When set to 20 Watts and you run the GPU-Z Render Test, does the iGPU run consistently at 1100 MHz? That is the maximum speed. My laptop uses the same HD 4600 iGPU. It can go up to 1150 MHz but your iGPU seems to be limited to 1100 MHz.
Yes, it does. It used to throttle approximately after 5 minutes of running at 1.1GHz, but with this applied, it can hold that clock frequency for hours.
 

R4Z3R

New Member
Joined
Jan 11, 2020
Messages
3 (0.04/day)
Hi @XenoAisam,

very interesting post.
Actually, I seem to have a very similiar issue, in my case it is a Lenovo Y50-70 notebook.

See my related recent post here (German): Intel 4720HQ: iGPU-Leistung wird auf 5 Watt begrenzt - warum? (Intel i7 4720HQ: iGPU power consumption limited to 5 watts - why?)

In the following there two screenshots from my posts over there, both while running a 3D app with the Intel HD 4600 Graphics. In my case, the iGPU throttles strictly at 5 watts, rendering the GPU unusable for many 3D tasks.

Thanks @unclewebb for the information and for creating ThrottleStop, I am using it constantly on the mentioned Lenovo notebook!
Adding the override for the GPU power throttling would be fantastic!

Btw, it is also not that rare as we might think:
  • I stumbled across multiple threads with people not understanding this throttling.
  • However most users gave up on it or do not notice the impact because, as you say, they are using the nVidia GPU for 3D tasks.
  • The power limit impacts lighter 3D tasks, for example when browsing (WebGL) and similiar
  • It is really a waste of SoC thermal budget.

1578752108491.png


1578752059030.png
 
Last edited:

unclewebb

RealTemp Author
Joined
Jun 1, 2008
Messages
1,590 (0.37/day)
I will add something simple like an option you can add to the INI config file. It should be ready for testing in a couple of days.
 

R4Z3R

New Member
Joined
Jan 11, 2020
Messages
3 (0.04/day)
Meanwhile, I can also confirm that I can fix / alter the Graphics Power Limit with the MSR modification.
Great.


1578831396619.png

1578831406700.png
 

unclewebb

RealTemp Author
Joined
Jun 1, 2008
Messages
1,590 (0.37/day)
ThrottleStop 8.74

New Features
- enabled Limit Reasons access for Comet Lake Core i7-10710U.
- added IGPU INI file option to set and lock the iGPU power limit.

Here is a fix for the issue that @XenoAisam and @R4Z3R were having.

Go into the ThrottleStop.INI configuration file and add this line. The first character is the letter I for Intel GPU.

IGPU=20

That will set the maximum power limit for the Intel GPU to 20 Watts. You can set this to whatever value you like. A setting of 0 tells ThrottleStop to ignore this setting. When ThrottleStop starts up, if it finds a value, it will automatically set the Intel GPU to this power limit and just to make sure no other software interferes with this, it also sets the Lock bit on the power limit register at the same time.

Because this locks the register, if you want to make a change to this value, you will have to either reboot or usually doing a sleep resume cycle will reset this register as long as ThrottleStop is not running. If you do a sleep resume and ThrottleStop is running, it will just lock this register again.

Hope that solves the problem. Nice to see a big boost in iGPU MHz by simply increasing this power limit.
 

R4Z3R

New Member
Joined
Jan 11, 2020
Messages
3 (0.04/day)
Thank you, @unclewebb, I can confirm the new functionality works on my machine!
The HD 4600 Graphics can require quite some power. See here FurMark running unlimited by Graphics Power Limit (entered 25 Watt limit in TS), running at maximum GPU turbo clock (1200 Mhz for the i7-4720HQ).

1579353258700.png
 
Joined
Jan 3, 2020
Messages
5 (0.06/day)
System Name Toshiba Satellite Pro A50-A
Processor Intel Core i3-4000M @ 2.4 GHz
Motherboard Toshiba FAWFSY1
Cooling Toshiba G61C0001H210
Memory 2x 2 GiB SK hynix HMT425S6AFR6A DDR3-1600
Video Card(s) Intel HD Graphics 4600 @ 1.1 GHz
Storage HGST HTS545032A7E380, 320 GB, 5400 RPM, 8 MiB, SATA
Display(s) LG LP156WH4-TLD1, 1366x768, 60 Hz, 6-bit, FPD-Link
Case Toshiba Satellite Pro A50-A
Audio Device(s) Realtek ALC283 HD Audio Codec
Power Supply Delta SADP-65KB Rev. A, 65 W
Mouse Alps 2-button PS/2 TrackPad
Keyboard Toshiba G83C000DU2JP, JIS 87-key layout
Software Microsoft Windows 7 Ultimate Edition x64, Service Pack 1
It also works on my 4000M as well. Thanks a lot for the addition of this convenient feature, I initially thought you would advise people with this problem to use RWEverything instead.

I can't express my gratitude enough for this, so I thought testing it would be the most I could do to repay your favor.
stress.png
 

Littleman

New Member
Joined
Mar 1, 2020
Messages
1 (0.03/day)
ThrottleStop 8.74

New Features
- enabled Limit Reasons access for Comet Lake Core i7-10710U.
- added IGPU INI file option to set and lock the iGPU power limit.

Here is a fix for the issue that @XenoAisam and @R4Z3R were having.

Go into the ThrottleStop.INI configuration file and add this line. The first character is the letter I for Intel GPU.

IGPU=20

That will set the maximum power limit for the Intel GPU to 20 Watts. You can set this to whatever value you like. A setting of 0 tells ThrottleStop to ignore this setting. When ThrottleStop starts up, if it finds a value, it will automatically set the Intel GPU to this power limit and just to make sure no other software interferes with this, it also sets the Lock bit on the power limit register at the same time.

Because this locks the register, if you want to make a change to this value, you will have to either reboot or usually doing a sleep resume cycle will reset this register as long as ThrottleStop is not running. If you do a sleep resume and ThrottleStop is running, it will just lock this register again.

Hope that solves the problem. Nice to see a big boost in iGPU MHz by simply increasing this power limit.
I love you T_T Smooch smooch, just registered to thank you :)
 
Top