Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

macassassin

macrumors newbie
Original poster
Nov 13, 2012
10
0
Hi,
For several months now my 15" Macbook Pro has been having what I think is throttling issues while playing any game at any quality settings on Windows 8. I have the mid 2012 non-retina Macbook Pro with 8gbs ram, i7 3720qm 2.6ghz , gt 650m 1gb and 750gb hdd. Games tend to run well for about 2 minutes before they start having huge lag spikes every few seconds going from around 5-10 fps to 30-50 fps. This makes nearly every game unplayable for me. Attached here is a screenshot from Nvidia Inspector showing what happens when I play Hitman Absolution (or any other game most of the time):

As you can see I get constant lag spikes from 725 mhz core clock to 270 mhz. I am not exactly sure what is causing this. It could be a temperature issue because I think it starts throttling whenever it gets around 80c but I am not really sure. I am using the NVIDIA 335.23 WHQL Drivers which have had a clean install. I have set all games to 'prefer maximum performance' in the Nvidia Control Panel. This could also be a driver issue because I remember being able to play all games properly without lag spikes where the gpu would hit 90c without throttling several months ago. I can't remember too well but I think this happened after I upgraded from the 306.97 drivers although I reinstalled them which yielded no effect on the throttling. I also did a SMC and PRAM/NVRAM reset over 5 times which still did not fix the performance. Other suggestions like forcing the pstate and core clock in Nvidia Inspector have also not worked.

So does anyone have any suggestions or possible solution to this problem? It is extremely annoying as all games are basically unplayable.
 
Last edited by a moderator:
Same problem here. What fixed it for me was going to:

  1. Control Panel
  2. Hardware and Sound
  3. Power Options
  4. Change plan settings (current one)
  5. Change advanced power settings
  6. Processor power management
  7. Maximum processor state
  8. Set to 99%.

Doing this will disable turbo boost on the CPU so your clock speeds will be lower and thus reducing heat. Performance hit is very small and most likely won't notice it.

To further reduce heat, prop the back of your mbp up at least and inch or two.
 
Same problem here. What fixed it for me was going to:

  1. Control Panel
  2. Hardware and Sound
  3. Power Options
  4. Change plan settings (current one)
  5. Change advanced power settings
  6. Processor power management
  7. Maximum processor state
  8. Set to 99%.

Doing this will disable turbo boost on the CPU so your clock speeds will be lower and thus reducing heat. Performance hit is very small and most likely won't notice it.

To further reduce heat, prop the back of your mbp up at least and inch or two.

Yeah this is a good idea. Apple is already throttling power when running games and heat is throttling it as well so disabling turbo boost wont change performance much on a mac (more than you're already used to). Doing this on any other machine causes a pretty large performance hit as it disable turbo boost (like he said) I made a comparison of turbo boost being enabled and disabled and it's quite a decrease in performance.
 
well, i tried pretty much everything people said it would work, and nothing solved the issue. Lowering the CPU usage, Throttlestop, forcing a P-state with nVidia inspector, resetting SMC. Recently i just gave up and decided to underclock my GPU so the clock would stabilise. It works, but I feel pretty stupid having a GPU that's supposed to clock at 900 and has to be underclocked to 600.

Here are the .bat files to use with nVidia Inspector i found most useful:

Overclock (in case you want to try it):

nvidiaInspector.exe -forcepstate:0,5 -setGpuClock:0,1,1050 -setMemoryClock:0,1,2600

Underclock-Power Save (guaranteed stable clock, but poor speed):

nvidiaInspector.exe -forcepstate:0,8 -setGpuClock:0,1,405 -setMemoryClock:0,1,419

Middle Ground Tier 1 (the best i could get):

nvidiaInspector.exe -forcepstate:0,5 -setGpuClock:0,1,600 -setMemoryClock:0,1,900

If anyone has any other solution i would be very grateful.

Edit: I actually got the clock to 700 using an external display, probably because of the power usage.

Edit 2: So i finally figured out what was my issue! I was using a 2.5" External HD, so the USB was drawing a power from my MacBook, and consequently it was throttling. When i connected it to an external power source i could get the clock to 1000mhz totally stable. The curious thing is that i got a stable clock without the power source, when o connected the MacBook to the power the GPU would hit 80º and star to throttle. Still trying to figure that out. But well, it's a start.
 
Last edited:
I have good news my friends!

I got the same problem and tested pretty much what everybody suggested, and it didn't work... the GPU still throttled a lot (rMBP mid-2012, 650m).

BUT, I installed the OSX 10.10 beta, and apparently it changed a few things in the SMC/EFI. It doesn't throttle anymore! The GPU gets to 88C while gaming and no signal of throttling!
I still need to test more, but on furmark it didn't throttle at all (tested just until it got to 88C). GRID 2 and BF4 (single player campaign) worked really well too (it didn't before).

Some update happened on the SMC or EFI and apparently it solved it for me.
 
I have good news my friends!

I got the same problem and tested pretty much what everybody suggested, and it didn't work... the GPU still throttled a lot (rMBP mid-2012, 650m).

BUT, I installed the OSX 10.10 beta, and apparently it changed a few things in the SMC/EFI. It doesn't throttle anymore! The GPU gets to 88C while gaming and no signal of throttling!
I still need to test more, but on furmark it didn't throttle at all (tested just until it got to 88C). GRID 2 and BF4 (single player campaign) worked really well too (it didn't before).

Some update happened on the SMC or EFI and apparently it solved it for me.

While that's cool and all, the OP's issue happens when running under Windows 8. Also, the Yosemite Beta is a beta... it could be a false positive. OS X and Windows handle stuff differently.
 
While that's cool and all, the OP's issue happens when running under Windows 8.
My problems were at bootcamp too. The SMC/EFI/NVRAM are at hardware level, the operating systems run on top of it, so doesn't matter if it's OSX/Windows/Linux/Whatever, that's how your hardware responds by default.

Moving on, I installed the 10.10 DP2, and I got even more improvements! Now it throttles like a decent GPU should throttle! (Small clock jumps, stable framerates!). Testing on Battlefield 3/4, Grid 2, I got stable framerates even without Throttlestop or underclocking the GPU. I'm really, really happy with this.

Update: After more extensive testing, I can say for sure that the throttling problem is STILL bad (*****).
 
Last edited:
Hi,
For several months now my 15" Macbook Pro has been having what I think is throttling issues while playing any game at any quality settings on Windows 8. I have the mid 2012 non-retina Macbook Pro with 8gbs ram, i7 3720qm 2.6ghz , gt 650m 1gb and 750gb hdd. Games tend to run well for about 2 minutes before they start having huge lag spikes every few seconds going from around 5-10 fps to 30-50 fps. This makes nearly every game unplayable for me. Attached here is a screenshot from Nvidia Inspector showing what happens when I play Hitman Absolution (or any other game most of the time): View attachment 468499

As you can see I get constant lag spikes from 725 mhz core clock to 270 mhz. I am not exactly sure what is causing this. It could be a temperature issue because I think it starts throttling whenever it gets around 80c but I am not really sure. I am using the NVIDIA 335.23 WHQL Drivers which have had a clean install. I have set all games to 'prefer maximum performance' in the Nvidia Control Panel. This could also be a driver issue because I remember being able to play all games properly without lag spikes where the gpu would hit 90c without throttling several months ago. I can't remember too well but I think this happened after I upgraded from the 306.97 drivers although I reinstalled them which yielded no effect on the throttling. I also did a SMC and PRAM/NVRAM reset over 5 times which still did not fix the performance. Other suggestions like forcing the pstate and core clock in Nvidia Inspector have also not worked.

So does anyone have any suggestions or possible solution to this problem? It is extremely annoying as all games are basically unplayable.

so i have a really retarded "fix", im saying "fix" because I dont wanna get your hopes up because ive been in your shoes and it kinda sucks tbh.
anyway, without any ********:

make a script call it whatever you want, put this in:

sleep 3
C:\Users\rawr\Desktop\nvidiaInspector\nvidiaInspector.exe -forcepstate:0,8 -setgpuclock:0,0,100 -setmemoryclock:0,0,500
C:\Users\rawr\Desktop\nvidiaInspector\nvidiaInspector.exe -forcepstate:0,8 -setgpuclock:0,0,400 -setmemoryclock:0,0,600
C:\Users\rawr\Desktop\nvidiaInspector\nvidiaInspector.exe -forcepstate:0,8 -setgpuclock:0,0,800 -setmemoryclock:0,0,1500
C:\Users\rawr\Desktop\nvidiaInspector\nvidiaInspector.exe -forcepstate:0,8 -setgpuclock:0,0,900 -setmemoryclock:0,0,2500
C:\Users\rawr\Desktop\nvidiaInspector\nvidiaInspector.exe -forcepstate:0,8 -setgpuclock:0,0,900 -setmemoryclock:0,2,2500
C:\Users\rawr\Desktop\nvidiaInspector\nvidiaInspector.exe -forcepstate:0,8 -setgpuclock:0,0,900 -setmemoryclock:0,2,500
C:\Users\rawr\Desktop\nvidiaInspector\nvidiaInspector.exe -forcepstate:0,8 -setgpuclock:0,0,900 -setmemoryclock:0,2,800
C:\Users\rawr\Desktop\nvidiaInspector\nvidiaInspector.exe -forcepstate:0,8 -setgpuclock:0,0,900 -setmemoryclock:0,2,2500
C:\Users\rawr\Desktop\nvidiaInspector\nvidiaInspector.exe -forcepstate:0,8 -setgpuclock:0,0,900 -setmemoryclock:0,0,2500
C:\Users\rawr\Desktop\nvidiaInspector\nvidiaInspector.exe -forcepstate:0,8 -setgpuclock:0,0,900 -setmemoryclock:0,0,2500
C:\Users\rawr\Desktop\nvidiaInspector\nvidiaInspector.exe -forcepstate:0,8 -setgpuclock:0,0,900 -setmemoryclock:0,1,2500
C:\Users\rawr\Desktop\nvidiaInspector\nvidiaInspector.exe -forcepstate:0,8 -setgpuclock:0,0,900 -setmemoryclock:0,2,2500
C:\Users\rawr\Desktop\nvidiaInspector\nvidiaInspector.exe -forcepstate:0,8 -setgpuclock:0,0,900 -setmemoryclock:0,3,2500
C:\Users\rawr\Desktop\nvidiaInspector\nvidiaInspector.exe -forcepstate:0,8 -setgpuclock:0,0,900 -setmemoryclock:1,3,2500
C:\Users\rawr\Desktop\nvidiaInspector\nvidiaInspector.exe -forcepstate:0,8 -setgpuclock:0,0,900 -setmemoryclock:1,0,2500
C:\Users\rawr\Desktop\nvidiaInspector\nvidiaInspector.exe -forcepstata:0,8 -setgpuclock:0,0,900 -setmemoryclock:0,0,2500

yeah i know its stupid, try it.
basically you're setting pstate to 8, i noticed that my card kept pushing it into 8 from 0 all the time. for some reason p8 works fine and does not cause problems (FOR ME) BUT for some reason I cant set statememoryclock over 700something. and setting gpuclock to 900 directly instead of the way ive done just does not work. no idea why, I could just be really tired and missing something obvious idk, this works, I played ARMA2 on highest graphics for a couple of hours, i played the forest and I played wolfenstein3d and it works great on my 650M.

hope this helps, if not, hope this does not fry your machine.

oh right, if you're wondering about the sleep 3 at the top of the script, thats just to let you press X and close the window before it garbages your screen - if youre dumb enough to put it in startup ;)

-edit: ofcourse you need to change the path and also the clock to fit your card :p oh and I know there is alot of redundant lines in the script, im sure you can slim it down, i just dont care atm, I just want to play :)
 
Last edited:
so i have a really retarded "fix", im saying "fix" because I dont wanna get your hopes up because ive been in your shoes and it kinda sucks tbh.
anyway, without any ********:

make a script call it whatever you want, put this in:

sleep 3
C:\Users\rawr\Desktop\nvidiaInspector\nvidiaInspector.exe -forcepstate:0,8 -setgpuclock:0,0,100 -setmemoryclock:0,0,500
C:\Users\rawr\Desktop\nvidiaInspector\nvidiaInspector.exe -forcepstate:0,8 -setgpuclock:0,0,400 -setmemoryclock:0,0,600
C:\Users\rawr\Desktop\nvidiaInspector\nvidiaInspector.exe -forcepstate:0,8 -setgpuclock:0,0,800 -setmemoryclock:0,0,1500
C:\Users\rawr\Desktop\nvidiaInspector\nvidiaInspector.exe -forcepstate:0,8 -setgpuclock:0,0,900 -setmemoryclock:0,0,2500
C:\Users\rawr\Desktop\nvidiaInspector\nvidiaInspector.exe -forcepstate:0,8 -setgpuclock:0,0,900 -setmemoryclock:0,2,2500
C:\Users\rawr\Desktop\nvidiaInspector\nvidiaInspector.exe -forcepstate:0,8 -setgpuclock:0,0,900 -setmemoryclock:0,2,500
C:\Users\rawr\Desktop\nvidiaInspector\nvidiaInspector.exe -forcepstate:0,8 -setgpuclock:0,0,900 -setmemoryclock:0,2,800
C:\Users\rawr\Desktop\nvidiaInspector\nvidiaInspector.exe -forcepstate:0,8 -setgpuclock:0,0,900 -setmemoryclock:0,2,2500
C:\Users\rawr\Desktop\nvidiaInspector\nvidiaInspector.exe -forcepstate:0,8 -setgpuclock:0,0,900 -setmemoryclock:0,0,2500
C:\Users\rawr\Desktop\nvidiaInspector\nvidiaInspector.exe -forcepstate:0,8 -setgpuclock:0,0,900 -setmemoryclock:0,0,2500
C:\Users\rawr\Desktop\nvidiaInspector\nvidiaInspector.exe -forcepstate:0,8 -setgpuclock:0,0,900 -setmemoryclock:0,1,2500
C:\Users\rawr\Desktop\nvidiaInspector\nvidiaInspector.exe -forcepstate:0,8 -setgpuclock:0,0,900 -setmemoryclock:0,2,2500
C:\Users\rawr\Desktop\nvidiaInspector\nvidiaInspector.exe -forcepstate:0,8 -setgpuclock:0,0,900 -setmemoryclock:0,3,2500
C:\Users\rawr\Desktop\nvidiaInspector\nvidiaInspector.exe -forcepstate:0,8 -setgpuclock:0,0,900 -setmemoryclock:1,3,2500
C:\Users\rawr\Desktop\nvidiaInspector\nvidiaInspector.exe -forcepstate:0,8 -setgpuclock:0,0,900 -setmemoryclock:1,0,2500
C:\Users\rawr\Desktop\nvidiaInspector\nvidiaInspector.exe -forcepstate:0,8 -setgpuclock:0,0,900 -setmemoryclock:0,0,2500


yeah i know its stupid, try it.
basically you're setting pstate to 8, i noticed that my card kept pushing it into 8 from 0 all the time. for some reason p8 works fine and does not cause problems (FOR ME) BUT for some reason I cant set statememoryclock over 700something. and setting gpuclock to 900 directly instead of the way ive done just does not work. no idea why, I could just be really tired and missing something obvious idk, this works, I played ARMA2 on highest graphics for a couple of hours, i played the forest and I played wolfenstein3d and it works great on my 650M.

hope this helps, if not, hope this does not fry your machine.

oh right, if you're wondering about the sleep 3 at the top of the script, thats just to let you press X and close the window before it garbages your screen - if youre dumb enough to put it in startup ;)

-edit: ofcourse you need to change the path and also the clock to fit your card :p oh and I know there is alot of redundant lines in the script, im sure you can slim it down, i just dont care atm, I just want to play :)

Do you need to combine this with throttlestop so that you don't get power throttling?

I don't think its retarded and by posting this here, you've generated some interest and potential knowledge on the throttling issue. I would be experimenting with this p-state variable you've found and I hope it would eventually allow me to not use throttlestop (and hence get better game loading times)
 
Do you need to combine this with throttlestop so that you don't get power throttling?

I don't think its retarded and by posting this here, you've generated some interest and potential knowledge on the throttling issue. I would be experimenting with this p-state variable you've found and I hope it would eventually allow me to not use throttlestop (and hence get better game loading times)

sorry i was really tired last night :)
so what i have mentioned is ONE problem you can have, like you mentioned about throttlestop, it prevents the second problem, which is power/heat related. (these could be two separate issues which cross intersect)

So in addition to what I mentioned earlier you will need to:

Change the maximum power consumption in windows to 70% via the power opions in the control panel, thats what i did atleast, i have 8 cores, so I also disabled 3 of them. Ive been playing wolfenstein with my brother all day and had no problems. there are little dips once in a while in the monitor, but i think its just because ive not found the 'sweetspot' yet, but anyway everything is atleast playable now :)

so msconfig
boot
advanced options
and then choose lesser amount of CPUs


edit: you could try to not disable the CPUs and not use throttlestop if you're able to somehow keep the CPUs cool.


[/QUOTE]
 
Last edited:
Although I don't have the same computer (I have the 2013 model with the 750m) I solved the same problem you have by reducing the maximum processor state to about 70% or something like that. It doesn't reduce performance for the most part and allows me to actually over clock my 750m by about 100 on the core and 200 on memory. It almost never throttles anymore and if it does its just down to the normal clocks as opposed to the over clocked speeds.
 
sorry i was really tired last night :)
so what i have mentioned is ONE problem you can have, like you mentioned about throttlestop, it prevents the second problem, which is power/heat related. (these could be two separate issues which cross intersect)

So in addition to what I mentioned earlier you will need to:

Change the maximum power consumption in windows to 70% via the power opions in the control panel, thats what i did atleast, i have 8 cores, so I also disabled 3 of them. Ive been playing wolfenstein with my brother all day and had no problems. there are little dips once in a while in the monitor, but i think its just because ive not found the 'sweetspot' yet, but anyway everything is atleast playable now :)

so msconfig
boot
advanced options
and then choose lesser amount of CPUs


edit: you could try to not disable the CPUs and not use throttlestop if you're able to somehow keep the CPUs cool.
[/QUOTE]

oh this is problematic, as we can't compare notes one-on-one... I'm using the haswell/750m model so our power consumption patterns are different. I have however, ruled out thermal throttling on my model after extensive tests (prime95+furmark) will only raise temps to abt 75-80 C.

For the Haswell model, you don't actually need to limit the clock speed beyond base clock - I'm running at 23X multiplier on TS and GPU can run at a stable, non boosted, clock speed.

What I'm planning to do is to reproduce what you've done with your GPU p-state while running throttlestop to see if my GPU can maintain a higher clock speed (boost clock) in the long run.

----------

Although I don't have the same computer (I have the 2013 model with the 750m) I solved the same problem you have by reducing the maximum processor state to about 70% or something like that. It doesn't reduce performance for the most part and allows me to actually over clock my 750m by about 100 on the core and 200 on memory. It almost never throttles anymore and if it does its just down to the normal clocks as opposed to the over clocked speeds.

Another useful piece of information for people looking to trade CPU power with GPU power, thanks for sharing!

What would be good would be to have throttlestop presets and MSI afterburner (or your favourite overclocking software) bound to a key that toggles between them, ideally there will be two states:

1. 100% CPU (turboboost), normal GPU
2. 70% CPU or lesser, overclocked GPU

When loading games setting one could be toggled, once loaded, setting 2 can take over for better framerates.
 
Get a $20 cooling pad. It won't throttle as much because it will run cooler.
 
Do you need to combine this with throttlestop so that you don't get power throttling?

I don't think its retarded and by posting this here, you've generated some interest and potential knowledge on the throttling issue. I would be experimenting with this p-state variable you've found and I hope it would eventually allow me to not use throttlestop (and hence get better game loading times)

:) I figured out how you can turn on throttling + 100% CPU :)

my script + a lowtech workaround

please be sure to keep the power supply cool, it seems to cause throttling also, we've been playing wolfenstein on high graphics without any issues at all. :) Should probably run it on mid though...
 

Attachments

  • photo.JPG
    photo.JPG
    643.2 KB · Views: 433
  • photo (1).JPG
    photo (1).JPG
    483.1 KB · Views: 383
  • image.jpeg
    image.jpeg
    561.9 KB · Views: 426
Last edited:
eh after running for a couple of hours the battery for my laptop was empty and the machine turned off.

Perhaps its not a great idea to run at 900MHZ, or perhaps it has to do with the TURBO or with the powersupply just sucking. : /

shame :/ be careful!
 
Last edited:
It has to do with the power required being higher than the PSU can provide. The MBP will also draw from the battery to supply the additional power it requires. It's not unusual for it to drop a few % while gaming.

Whatever you've been doing is drawing lots of additional power. Probably not a good thing...
 
Last edited:
It has to do with the power required being higher than the PSU can provide. The MBP will also draw from the battery to supply the additional power it requires. It's not usual for it to drop a few % while gaming.

Whatever you've been doing is drawing lots of additional power. Probably not a good thing...

hmm after a little bit of messing around, i think the problem is that the macbook gets hot at the power cord connection, when that happens, worst case it shuts itself off and does not allow power to conduct as to keep the heat down. i think this is what caused my laptop to die. now that i have a thermal heat pad thingy im not seeing the problem anymore unless i move my laptop so that the topleft corner doesnt get sufficiently cooled down. i have turbo enabled and im running at 900mhz.
 
hmm after a little bit of messing around, i think the problem is that the macbook gets hot at the power cord connection, when that happens, worst case it shuts itself off and does not allow power to conduct as to keep the heat down. i think this is what caused my laptop to die. now that i have a thermal heat pad thingy im not seeing the problem anymore unless i move my laptop so that the topleft corner doesnt get sufficiently cooled down. i have turbo enabled and im running at 900mhz.

Hmmm, this makes me wonder if attaching heatsinks onto the body of the power brick will work... It is highly plausible that the power brick is thermally limited, though this is the first time I've heard of it being suggested.
 
guys, I am not experiencing any serious throttling problem anymore!
Apparently they fixed in the latests Yosemite DP (don't know which one, I'm using GM3.0)!
no throttlestop or firing the fans to max before launching anything, and still works perfectly (tried with borderlands 2 and luxbench, 100%)

even overclocked with luxbench, getting results close to a 660m (screenshot attached)
 

Attachments

  • ss.png
    ss.png
    689.2 KB · Views: 529
For boot camp MacBook pro gamers there's only one sure fire way to improve the stuttering- get an engineer who knows what they are doing to re-do the thermal paste and polish the plates which attach to the cpu and gpu shiny. Must have done over a dozen of them so far and they are all happy with the results. One caveat - if the Macbook has a problem and has to go back to apple I have to reverse the procedure and stick the usual great big gob of factory paste back on beforehand else they will invalidate the warranty.

I would still recommend you use a cooling pad on the retinas nevertheless..
 
Just to put an end in my journey:

Throttling problems went away and came back, and the experience was not really good. So I brought it to Apple for service (AppleCare covered me), and they replaced my motherboard. I can say it's completely different now. Stable framerates, can't feel the throttling. I recommend you doing the same if you are unhappy with the throttling.

Maybe reapplying the thermal paste/changing the fans would solve it, but having a thermal problem for a long time can damage the circuits, so replacing the motherboard you will be 100% sure it will be good.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.