Jan 22, 2017

A solution to lag/throttle in bootcamp games with Macbook Retina 15" and R9 M370X

Say good-bye to the insane GPU throttling and horrible gaming performances with your 2'500$ 15" Macbook Pro retina and bootcamp, finally !


The problem

For some reason, some very specific Macbook retina, at least with my specs (Mid-2015, 15", 2.5 Ghz i7, AMD Radeon R9 M370X 2GB, running Windows 10 in Bootcamp) really does a crappy job and drops FPS like crazy with many different drivers (original bootcamp or AMD's official bootcamp, or even the mxdrivers or bootcampdrivers.com ones).

It's a very sad thing to see your favorite game run fine for one minute or five, then to have the FPS drop below 10 and never go back up... Really bad throttling that I believe is unnecessary (so far in my tests, once I fixed the throttling, the GPU never went hotter than 83°C and the CPU only maxed once at 90°C). Your default "Intel GPU" and Radeon M380X usually run at 300 / 300 Mhz frequency in low-power consumption "mode" (hence when you're browsing and doing desktop stuff) and should go up to 800 / 1125 mhz when you game... But it seems to throttle up and down to keep the GPU and CPU temp low, which creates a NASTY gaming experience...

I've found may forums and posts talking about this, on apple's official forums, reddit, etc. but didn't find a 100% clean and clear fix to it all. After many many hours spent playing around with it, looks like I found a solid solution (and haven't fried my beloved Macbook Retina)... at least, it's working for me, so give it a shot !

The Solution

You need to tweak a few things to get this to work. But once you've set it up, and runs pretty damn smooth and you'll finally be able to "game" with that expensive apple gear. Here the steps that made it happen for me :
  1. Use MSI Afterburner to fix the frequency rate of your GPU
  2. Use Throttlestop to make sure step1 is going to stick (optional : not needed for everyone!)
  3. Fix Windows 10 (or windows8, 7, vista, 98 haha) power settings & stay plugged-in
  4. Use the best driver around (which means non-apple but bootcamp ready)
  5. Monitor your CPU / GPU temp at all times, just for safety

STEP 1 - Forcing frequency rate with MSI Afterburner

Download MSI Afterburner, install and reboot if required.
Launch the app and go to settings and set them up like this:

Press OK and reboot if required. Then re/launch the app and set your Clocks to a few mhz higher than the standard "heavy GPU usage" setting :

Core Clock : 801 mhz (instead of 800)
Memory Clock: 1127 mhz (instead of 1125)

Once its set, don't forget to apply this by clicking the "tick" button... Also, I'd make it a profile preset so that you save time, as you must re-apply this manually ever time you restart you computer.
Oh and be carefully, with the settings set this way, you could damage/fry your computer by trying silly shit. I read your computer should shut off automatically when overheating to prevent this,  but hey you never know how many times that'll save your ass, so use with caution.


STEP 2 - Throttlestop (this helped me, but some may not need this step)

Download and install Throttlestop (8.30 works a charm for Windows 10).
Disable BD PROCHOT and make sure you TURN ON the thinggy. Once set it should look like this :


STEP 3 - Unleash the kraken Windows 10 power settings, & stay plugged-in

Winblows tends to hold the juice back, for power saving reasons (might be because of our "Apple Frankenstein Windows 10 gaming laptop" but I dunno). To fix this, first set power savings options and also enable multiple cores usage.

A. Power Options set-up:

In Windows 10, search for "Power Options" and open it up. Set it up to "High performance" then click "Change Plan Settings". This should be enough, but if you want to double check : Go to "Change Advanced Power settings", and make sure you're settings are as followed



B. Enable multiple CPU cores 

- Use the "Run" command (Windows + X) and type in : msconfig


- Press OK then in new window go to "Boot" tab
- Go to "Advanced Options"
- Tick "number of processors" and select the maximum amount (8 in my case)
- Click "OK", "Apply", all that jazz and then reboot



STAY PLUGGED-IN 
It gets even worse when you try to game whilst on battery : I've been unable to play with graphic-demanding games when on battery... yeah seems like our Macbook Retina doesn't have enough juice to fully power the CPU + GPU. So simply keep that electricity flowing in and you should  be fine.


STEP 4 - Use optimal driver

Apple's Bootcamp drivers should be OK, but I've noticed slightly higher FPS (and compatibility with Vulcan and other technologies) with tweaked AMD Radeon Drivers. Some people go with mxdriver.com, I prefer the ease of use of bootcampdrivers.com. Follow the install instructions  (and check compatibility list) carefully to make the install "clean".



STEP 5 - Monitor your GPU & CPU temp

The macbook pro retina is an expensive toy, so I'd definitely recommend monitoring the temp of both your CPU and GPU, since we're kind of forcing both of them to perform well. If you're in a hot room, you might want to help you computer out by forcing the fans to go full-speed the whole time, for this simply use Macs Fan Control. I've tried playing around with it, but in the end didn't notice much difference (your Mac will kick in full Fan mode pretty quickly when you're gaming, and since they'll be rotating at their max speed... well it's gonna be the same cooling result after a while).

I'm using MSI Afterburner to monitor the GPU and CPU... I basically will try to push the graphics settings in a game to their max, and play for a while (about an hour) while minimising the game and checking how the GPU and CPU temps are using the graph.

Definitely don't force these tweaks and settings if you're computer shows graphic artefacts and suddenly shuts down. That would be a big warning that you're pushing it. But then again, this still HAS NOT happened to me once... and I'm finally a happy camper, playing games that won't throttle and go down to 10fps

Happy "gaming" dodes !

Josh

8 comments:

Unknown said...

Doesnt work here... still droping fps :(

Unknown said...

Is it still working?

taxi star said...

OH.Its Really very amazing.Thanks for sharing.superb!!

Macbook

ProductsRace said...

I am looking forward to buying Apple Mac Pro 2019 What could be the compatibility of graphics cards with this device, please guide me

Joko Sastrowidodo said...

Nice information. Very useful

Unknown said...

Wonderful article . thanks for sharing.Macbook pro rental

Ehtesham Nazir said...

I would like to thank you for this wonderful article. I also want to introduce my company One World Rental is a leading Global IT Rental Partner with over many years of successful experience in the field of business events and corporate communication. As a corporate communication company, one world provides cost-efficient solutions to meet the demands of corporate communication with a view to improving productivity and efficiency in work processes. This company helps its customers with effective planning and execution of communication projects for their clientele.

Romaha said...

Oh, thanks you so muh mate for this article! I spent so much time trying to figure out how to solve it and this approach finally did a trick! I am on same machine as yours, and can confirm that using all steps except #2 works for me. Didn't try #2 as it worked fine without it.
Now GPU holds max Mhz on 100% load with ~80 degrees temp