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

Ovedius

macrumors 6502
Original poster
Aug 2, 2012
438
402
Norway
Do you want stable gaming performance from your 2015 15" Macbook Pro?
There is a way, but it's not necesarily a good idea :oops:

Alright, let's get some things out of the way before we begin:
  • The M370X throttles excessively, this is established fact and any attempt to argue otherwise will be ignored. I'll post logs captured with GPU-Z as documentation further down.

  • This could potentially expose your GPU to a heavier thermal load than Apple's engineers intended.
    -though you will rarely stay above 90C for more than a minute.

  • I am not recommending that you do this.
    I'm a dumbass, listen to dumbasses on the Internet at your own risk.

  • Some screenshots will have Norwegian in them, I apologise, but I'm sure you'll get the gist of things.

What you will need:
  • AMD RadeonPro (link: http://www.radeonpro.info/download/)
    Note that this software has not been updated since 2013 and development has most likely seaced.
    I have not been able to find any alternatives, this is all there is.

  • Bootcamp.
    This only works in Windows, there is no way of tampering with clock speeds in MacOS.

Optional downloads:
  • Custom drivers from Bootcampdrivers (link: http://www.bootcampdrivers.com/)
    I use the slightly older 17.1.2 XG V4 from here:
    https://mega.nz/#F!dQ50BLKS!o-k34oCKh4b1NIEpCP32LQ
    -later versions make my system crash from a "wattman" error (google it if you want) that I can't be arsed to work around.

  • GPU-Z to monitor and log your GPU clocks and temperatures, if you are so inclined:
    https://www.techpowerup.com/gpuz/
  • Some sort of software for controlling your Macbook's fans manually.
    If you want to avoid a short jump in GPU temperature while you wait for your fans to start spinning, it can be a good idea to find some way of setting them to max speed before playing with locked maximum clock speed.
    But I haven't bothered yet, usually no games push GPU temperatures above 90C.


What are we doing:

RadeonPro let's you force your GPU to stay at maximum clock speeds (800MHz) at all times when running specified apps.
And this is what we'll do:

  • First, install a game.

  • Then install RadeonPro.

  • Create a profile for said game in RadeonPro:
    Create profile.PNG
    Also make sure that it says "32/64 Bit" down in the right corner.
    If it doesn't, click the text until it says 32/64.

    Navigate to the main .exe of whatever game you want and select it:
    Choose exe.PNG

  • Enable Overdrive settings thusly:
    Enable overdrive.PNG
    Make sure the boxes labeled "Enable..." and "Always use highest performance..." are ticked.
    Remember to click "apply" when you're done.
Recommended extra step:
  • Enable OSD.
    This let's you keep an eye on your GPU temperature while you're playing, just in case things go south.
    I use these settings (top, tiny, GPU core temp):
    OSD settings.PNG
    I inserted a little image from Total War: Warhammer there, it's kind of hard to see but it says "GPU: 74.0C" up in the right corner of the screenshot.
Optional tweaks:
  • Set maximum framerate to lessen processing load.
    I sometimes set this to 30, some people want more.
    But if you're playing demanding games, you probably won't go above 30 anyway, rendering this step pointless.
    Lock fps.PNG

  • There are extra tweaks you can fiddle with if you want, in some cases vsync and anti aliasing works better when enabled through apps outside the games themselves.
    But I rarely use these settings, I prefer to use processing power on textures, shaders and stuff.

  • Prevent your CPU from Turbo Boosting.
    Disable TurboBoost.PNG
    This might be unnecessary, but I like to exercise some caution.
    Turbo Boost is great, it let's your CPU punch above it's weight class for short periods of time.
    This naturally makes your CPU very hot, and I'm quite keen on keeping the entire system as cool as possible since we're already tampering with the GPU.
    Set your Power Plan settings so that your CPU's maximum state is below 100%.Be aware that "High Performance" mode sets your minimum state to 100%, so limit this as well.
    I use 95%, just to be sure.

What happens:

Here is an excerpt from a log captured by GPU-Z while playing Total War: Warhammer without OverDrive
(clock speed is red, temperature is green):

Date , GPU Core Clock [MHz] , GPU Memory Clock [MHz] , GPU Temperature [∞C] , Fan Speed (%) [%] , Fan Speed (RPM) [RPM] , GPU Load [%] , Memory Usage (Dedicated) [MB] , Memory Usage (Dynamic) [MB] ,
2017-05-08 23:38:23 , 800.0 , 1125.0 , 89.0 , - , - , 99 , 2005 , 290 ,
2017-05-08 23:38:24 , 725.0 , 1125.0 , 89.0 , - , - , 100 , 2005 , 290 ,
2017-05-08 23:38:25 , 725.0 , 1125.0 , 89.0 , - , - , 100 , 2005 , 290 ,
2017-05-08 23:38:26 , 725.0 , 1125.0 , 88.0 , - , - , 100 , 2005 , 290 ,
2017-05-08 23:38:27 , 725.0 , 1125.0 , 88.0 , - , - , 100 , 2005 , 290 ,
2017-05-08 23:38:28 , 725.0 , 1125.0 , 87.0 , - , - , 100 , 2005 , 290 ,
2017-05-08 23:38:29 , 725.0 , 1125.0 , 87.0 , - , - , 100 , 2005 , 290 ,
2017-05-08 23:38:30 , 725.0 , 1125.0 , 87.0 , - , - , 100 , 2005 , 290 ,
2017-05-08 23:38:31 , 725.0 , 1125.0 , 86.0 , - , - , 100 , 2005 , 290 ,
2017-05-08 23:38:32 , 725.0 , 1125.0 , 86.0 , - , - , 100 , 2005 , 290 ,
2017-05-08 23:38:33 , 725.0 , 1125.0 , 86.0 , - , - , 100 , 2005 , 290 ,
2017-05-08 23:38:34 , 725.0 , 1125.0 , 85.0 , - , - , 100 , 2005 , 290 ,
2017-05-08 23:38:35 , 725.0 , 1125.0 , 85.0 , - , - , 100 , 2005 , 290 ,
2017-05-08 23:38:36 , 675.0 , 1125.0 , 85.0 , - , - , 98 , 2005 , 290 ,
2017-05-08 23:38:37 , 675.0 , 1125.0 , 84.0 , - , - , 100 , 2005 , 290 ,
2017-05-08 23:38:38 , 675.0 , 1125.0 , 84.0 , - , - , 99 , 2005 , 290 ,
2017-05-08 23:38:39 , 675.0 , 1125.0 , 84.0 , - , - , 100 , 2005 , 290 ,
2017-05-08 23:38:40 , 675.0 , 1125.0 , 83.0 , - , - , 100 , 2005 , 290 ,
2017-05-08 23:38:41 , 675.0 , 1125.0 , 83.0 , - , - , 98 , 2005 , 290 ,
2017-05-08 23:38:42 , 675.0 , 1125.0 , 83.0 , - , - , 100 , 2005 , 290 ,
2017-05-08 23:38:43 , 675.0 , 1125.0 , 83.0 , - , - , 100 , 2005 , 290 ,
2017-05-08 23:38:44 , 675.0 , 1125.0 , 82.0 , - , - , 100 , 2005 , 290 ,
2017-05-08 23:38:45 , 675.0 , 1125.0 , 82.0 , - , - , 100 , 2005 , 290 ,
2017-05-08 23:38:46 , 400.0 , 1125.0 , 82.0 , - , - , 100 , 2005 , 290 ,


As you can see, the core clock of the GPU nosedives from 800MHz to 400MHz.
As the GPU cools down again from the inital load the core clock usually "stabilises" at 675MHz and jumps up and down, but the core clock never goes back up tp 800Mhz.
This means absolute ***** performance, stuttering up the arse.

But what happens when we use Radeon Pro's OverDrive?
Lo and behold :eek::

Date , GPU Core Clock [MHz] , GPU Memory Clock [MHz] , GPU Temperature [∞C] , Fan Speed (%) [%] , Fan Speed (RPM) [RPM] , GPU Load [%] , Memory Usage (Dedicated) [MB] , Memory Usage (Dynamic) [MB] ,
2017-05-08 23:49:19 , 800.0 , 1125.0 , 79.0 , - , - , 99 , 2004 , 232 ,
2017-05-08 23:49:20 , 800.0 , 1125.0 , 79.0 , - , - , 98 , 2004 , 232 ,
2017-05-08 23:49:21 , 800.0 , 1125.0 , 79.0 , - , - , 98 , 2004 , 232 ,
2017-05-08 23:49:22 , 800.0 , 1125.0 , 79.0 , - , - , 98 , 2004 , 232 ,
2017-05-08 23:49:23 , 800.0 , 1125.0 , 79.0 , - , - , 100 , 2004 , 232 ,
2017-05-08 23:49:24 , 800.0 , 1125.0 , 79.0 , - , - , 99 , 2004 , 232 ,
2017-05-08 23:49:25 , 800.0 , 1125.0 , 79.0 , - , - , 100 , 2004 , 232 ,
2017-05-08 23:49:26 , 800.0 , 1125.0 , 79.0 , - , - , 100 , 2004 , 232 ,
2017-05-08 23:49:27 , 800.0 , 1125.0 , 79.0 , - , - , 100 , 2004 , 232 ,
2017-05-08 23:49:28 , 800.0 , 1125.0 , 79.0 , - , - , 98 , 2004 , 232 ,
2017-05-08 23:49:29 , 800.0 , 1125.0 , 79.0 , - , - , 97 , 2004 , 232 ,
2017-05-08 23:49:30 , 800.0 , 1125.0 , 79.0 , - , - , 100 , 2004 , 232 ,
2017-05-08 23:49:31 , 800.0 , 1125.0 , 79.0 , - , - , 100 , 2004 , 232 ,
2017-05-08 23:49:32 , 800.0 , 1125.0 , 79.0 , - , - , 100 , 2004 , 232 ,
2017-05-08 23:49:33 , 800.0 , 1125.0 , 79.0 , - , - , 100 , 2004 , 232 ,
2017-05-08 23:49:34 , 800.0 , 1125.0 , 79.0 , - , - , 98 , 2004 , 232 ,
2017-05-08 23:49:35 , 800.0 , 1125.0 , 79.0 , - , - , 98 , 2004 , 232


Bear witness to the feats the otherwise soft and weak M370X is capable of given the right motivation.
Rock solid 800Mhz core clocks, low temperatures, stable performance.o_O

You can read the attached log files for Total War: Warhammer and Metal Gear Solid V if you want.
As you will see if you read them; Warhammer with OverDrive goes all up to 92C before cooling down to 78-79C once the fans kick in.
Metal Gear Solid V with OverDrive stabilises at around 73C.
Without OverDrive both games quickly make the GPU down clock it self as far as 400MHz and stabilise around 70C.

And that is it.
This is how you plant your boot way up the arse of the poor M370X and force it to march to your drum.


Final thoughts:
I've owned two 15" Pros with the M370X and they've both throttled as soon as things start heating up.
Most of the time this is not a problem, in fact it is only potentially a problem if you are a bit of a gamer.

I have been using RadeonPro for several months now and I have noticed no adverse effects on my machine.
Instead I've been able to play games like Fallout 4, XCOM 2, Deus Ex Mankind Divided and Total War: Warhammer without that stinking throttling.
-Deus Ex really didn't run very well, though :p

Take note though, that RadeonPro can be a bit of a hassle.
Some games refuse to run with RadeonPro tweaks (Wolfenstein The New Order, for instance), some games refuse to even acknowledge RadeonPro tweaks (Battlefleet Gothic Armada).
I haven't been able to pinpoint why RadeonPro refuses to work with some games, it might have something to do with DirectX12 in some cases but not always.
You'll just have to tinker with the setting and familiarise yourself with the software.
So don't take it for granted that RadeonPro will help you run that game you've been dying to play.

But let's not be naive.
By using RadeonPro I am subjecting the M370X to a processing load Apple's engineers did not intend.
Could this damage your GPU? Maybe, I don't know.
GPUs can normally take temperatures way up in the 90s, even over 100 (Celsius) before you risk damaging them. And occasionally by using RadeonPro, before the fans kick in, you will hit 90.
But only for brief periods of time, this is not sustained load at high temperatures.
As you can see, the GPU stabilizes just below 80C while locked to maximum clock speeds.

Personally I am not worried about damaging the machine by doing this, but I am not saying it is safe.
Do this at your own risk.
-I'm a dumbass, remember?
 

Attachments

  • MGSV with OverDrive.txt
    58.2 KB · Views: 54
  • MGSV without OverDrive.txt
    74.1 KB · Views: 55
  • Total Warhammer with OverDrive.txt
    78.9 KB · Views: 40
  • Total Warhammer without OverDrive.txt
    50.2 KB · Views: 46
Last edited:
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.