Discovered a possible cause of battery drain

Discussion in 'MacBook Pro' started by emerrill, Jan 6, 2017.

  1. emerrill macrumors member

    Mar 2, 2005
    I found that sometimes by MBP enters a state where the discrete GPU draws 10W of power when the integrated CPU is selected - causing a nearly doubling of total power draw. More details, and ways to check below.

    Of course I can't know if this is unique to me, caused by some software on my system, or is the cause of other peoples intermittent battery problems.

    I have a 15" MBP Touch, 2.9GHz, 16GB, Radeon Pro 460, 512GB. Got it a few days ago. I find that normally I can get ~6-9 hours of general dev work on a charge, which I consider pretty good. But I noticed that at one point my battery was draining faster than it should, even though I was on the Intel GPU, and nothing was doing much with the CPU. After some poking around, I noticed in iStat Menus that the discrete GPU was drawing 10W of power, which seemed odd, considering it was 'off'.

    After some experimenting, I discovered that if the discrete was active, it's power draw would be around 4W (idle), but if the integrated was active, the discrete would draw 10W (which is on top of the power draw of the integrated GPU), and the total system power draw would be significantly higher.

    Some values
    Note that I also used a tool to directly probe the SMC sensor values, so this isn't an artifact of iStat Menus.

    Some values from probing total system power (PSTR) and discrete GPU power (PS0R). Note that this was on AC power - the total system power values dropped by about 5W when on battery, but the differentials remained the same, meaning the problem nearly doubled power draw when on battery.
    On discrete GPU:
    PS0R: 4.27W (bytes b9 c9 88 40)
    PSTR: 17.68W (bytes 0B d7)

    On integrated GPU:
    PS0R: 9.56W (bytes 43 f1 18 41)
    PSTR: 24.22W (bytes 0c 1c)

    After a reboot, the problem clears, and the discrete draws ~0.1W while idle, and the system total draw is around 9-11W.

    While these particular values are obviously one time snapshots, I saw a similar result over time. When the problem exists, on the discrete, total power draw is a few W higher than it should be, but when on the integrated, the power draw is basically double what it should be.

    Checking it out yourself
    If you would like to monitor the values, I would recommend trying out iStat Menus (has a 14 day free trial). Turn on the sensors menu item. When you open that menu, you will see tons of values, but near the bottom you will find Radeon GPU Highside and System Total in the power section. You can hover over each item to see graphs of the values. You can also configure the menu item for the menu to report the values directly in the menubar - so next to my battery icon it displays the two power draws right next to each other.

    The CPU menu item can also be configured to display which GPU is currently active.

    I don't plan on keeping it that way in the long run (it eats a lot of menu bar space), but it is a good way to quickly see the state the system, and if the probable is showing up.

    (And no, I am in NO WAY affiliated with iStat Menus. I own my own copy, and have used it for many years)

    Is this really the problem?
    No clue. Like I said, the problem clears after a reboot, and I get very good battery life, but since I found this problem yesterday, it has recurred twice. I also don't know if this is unique to the 460, unique to my particular machine, or something else.

    The good thing about this is that it is probably a driver issue that could be fixed.

    I captured a bunch of system dumps and reports and sent them to Apple in a Radar issue. I'm sure they will close it as a duplicate, or not an issue, or whatever, but I hope that the data makes it to someone who might be able to use it.

    I'm hoping some others will be able to monitor the problem and see if this is a relatively wide spread problem, and the more noise it gets (if it deserves it), the more likely Apple will notice and look into it (even though they of course won't acknowledge it).
  2. Sanpete macrumors 68020

    Nov 17, 2016
    Nice work. Others have also thought the dGPU might be remaining active after it's no longer in use. If so, that's a big waste of power that probably can be fixed.
  3. cmanbrazil macrumors regular

    Feb 3, 2010
    Thanks for the nice work. I have the 15" 512 model and its difficult to figure out what causes, at times, rapid battery decline. I thought it was streaming movies/ videos, but sometimes when I watch them it declines rapidly and other times it doesn't. I have not had the computer long enough and used it several times in a wide array of applications to see any patterns. With all of that said, hopefully you have found the culprit, and there is a software solution for it.
  4. hawkeye_a macrumors 6502a


    Jun 27, 2016
    Great catch there. Doesn't explain the 13" tho (no dGPU).

    Could be a combination with something else maybe?
  5. McCarron macrumors regular

    Feb 17, 2006
    Thanks for the research. I added my dGPU Wattage sensor to my iStat setup and I'll keep an eye on it.

    Right now it's idle at 0.11W. I am also on 10.12.3 Beta (16D17a) which I noticed fixed some other dGPU issues I was having with Safari.
  6. smeek macrumors newbie

    Dec 19, 2011
    Thanks for looking into this. I setup the same on my MBP to monitor it but I'm not seeing a dGPU spike for light usage. It doesn't contribute to the ~13W avg that my MBP was getting for light use.
  7. emerrill thread starter macrumors member

    Mar 2, 2005
    Yeah, obviously this isn't the only possible cause (even assuming there is a related cause between 13" and 15"), but it seemed peculiar to me.

    Based on what I'm seeing, this isn't something you would see all the time (like right now, my machine is fine), but just at some point, something happens that causes the the dGPU to to enter this mode where it is drawing a lot of power when not in use.

    I've only seen it a few times so far, but no rhyme or reason as to what causes it. Once it does happen, a reboot has been the only thing that has cleared it for me. So I will be curious to see if other notice it after monitoring for a while (maybe a few days).
  8. Creep89, Jan 6, 2017
    Last edited: Jan 6, 2017
  9. emerrill thread starter macrumors member

    Mar 2, 2005
    Obviously I didn't see that post - but I'm glad I'm not the only one seeing this.

    Reality is that enough people have noticed the problem that Apple almost certainly knows about it, and will probably fix it (this one has been a relatively large blemish with the Consumer Reports post). It always feels like they aren't paying attention since they are completely silent about just about everything, but I bet it will magically get fixed in an upcoming OS release.

    Also, it's very possible this is actually on AMD's side, so they may have to wait for a driver update from them, which they will then roll into the next OS release.
  10. jun180 macrumors regular


    Apr 27, 2010
    I was the OP of the other thread re battery life. I used to have very high average battery drawn on light usage and this theory is highly probable.

    I installed macOS 10.12.3 public beta 2 because I was sick of the poor battery life, and was unable to test this theory on 10.12.2. The good news is, I am seeing significantly better battery life on the beta. I am averaging around 8-12w on the same light usage, and less than 5w on idle.

    I believe the update has fixed the bug causing the battery drain issue on my MBP. Maybe you can try the same on yours and see if the Radeon draw issue gets resolved on the beta?
  11. emerrill thread starter macrumors member

    Mar 2, 2005
    Yeah, I'm planning on installing it at some point. I wish that it was more reproducible, so I had a better idea as to if it is really fixed or not. As a programmer, I want directly reproducible steps... but I don't have enough insight into the system to get that.
  12. Creep89 macrumors 6502

    Mar 9, 2012
    Yeah it's weird. For three times in a row I could reproduce the issue.

    1. Reboot
    2. Connect external display
    3. Disconnect display
    4. iGPU kicks in but 460 Pro still continues to draw 10W
  13. Exile714 macrumors 6502a

    Jan 14, 2015
    Hmm, I think you're definitely on to something.

    This issue is probably the most talked-about problem with the MBP 2016 aside from ports and price. Apple must have noticed, and seemed willing to work with Consumer Reports after their bizarre battery life test (bizarre in that they published a report with inconsistent results without looking into testing conditions because they knew it would get clicks).

    My guess: Apple fixes this in a software patch then acts like nothing was ever wrong in the first place.

    So I guess you could say they'll handle it... discrete-ly.
  14. emerrill thread starter macrumors member

    Mar 2, 2005
    Interesting. I'll have to see if I can reproduce it that way. I've never attached an external display to my machine - all the times it has happened it is just some software thing. In fact it just happened right now when it switched back to the iGPU.
  15. OS X Dude macrumors 6502a

    OS X Dude

    Jun 30, 2007
    I wonder, since the Iris Pro graphics aren't present in the processors the new MacBook Pro uses, if the dGPU is chipping in to help the now-weaker iGPU along slightly? Not 'on', per se, just giving it a leg-up and the software that controls that process needs some tweaking. Maybe.
  16. emerrill thread starter macrumors member

    Mar 2, 2005
    That seems highly unlikely just from a programatic point of view. But even so, it doesn't fit the bug. When in this bugged state, it draws a constant 10W, but when it's not in this state, it draws 0.1W no matter what you do. Neither time does it vary with workload.
  17. konnyaku, Jan 7, 2017
    Last edited: Jan 7, 2017

    konnyaku macrumors member

    Dec 4, 2016
    Thanks for this. I've suspected a similar issue with the dGPU continuing to draw power after unplugging an external monitor. I think it's happened to me a few times but I didn't have iStat Menus installed then so there was no way to verify.

    I've installed the menubar widget and will observe my computer over the next few days.
    --- Post Merged, Jan 7, 2017 ---
    Anecdotally, I've experienced this before but I can't replicate it right now with iStat running.

    I've observed my 460 will continue to draw 10W for about 30 seconds after unplugging the display but then drops down to 0.1W. Does yours do the same, or does it just go on drawing 10W?
  18. Creep89 macrumors 6502

    Mar 9, 2012
    It continues to draw 10W. You can really see how the battery level drops but after a restart everything is smooth again.
  19. jun180 macrumors regular


    Apr 27, 2010
    Pre 10.12.3 beta, the battery draw on mine would be >10w constantly, and never drop I suspect the Radeon 460 was engaged the whole time. Unfortunately I can't test this because I've moved onto 10.12.3 beta before this theory was posted.

    Post 10.12.3 beta, I can confirm after monitoring for a few days that the Radeon 460 does definitely drop to <1w draw after switching to the iGPU. I was editing some GoPro footage in Final Cut Pro X, and after quitting the 460 dGPU energy draw immediately dropped from average of 20w to <1w.
  20. Creep89 macrumors 6502

    Mar 9, 2012
    Well let's hope the new MacOS build indeed fixes the issue. The weird thing is sometimes the dGPU behaves as intended and sometimes gets stuck in the 10W bug.
  21. OS X Dude macrumors 6502a

    OS X Dude

    Jun 30, 2007
    Hmm... possibly firmware-related? That'd be why macOS updates haven't resolved it, it'd take AMD to patch it and Apple to bundle that into an OS update.
  22. matram macrumors member

    Sep 18, 2011
    When checking today my 460 draws 4 W when opening a picture in Photoshop. Goes back to 0.1 W immediately on closing PS.

    I am on 10.12.2.

    Previously I have seen 11 W from Photoshop just being idle in the Dock and then delayed switch off of the dGPU ( a couple of minutes) after quitting PS.
  23. konnyaku macrumors member

    Dec 4, 2016
    OK, I got the 10W bug this morning. These were my steps:

    Last night, I
    - unplugged my external monitor
    - unplugged my charging cable
    - put my computer to sleep

    This morning, when I wake my computer, the Radeon is drawing a constant 10W with no monitor plugged in, and no apps that require GPU. It shows no sign of going down.

    I was able to force the Radeon to switch off by selecting 'Integrated Only' with gfxCardStatus 2.4.3i.
  24. Carlson-online macrumors member

    May 27, 2004
    Do you see this happening with Chrome ? Quite often it forces itself into high performance GPU mode, and doesn't turn off.
  25. konnyaku macrumors member

    Dec 4, 2016
    I just experienced some very strange behavior.

    My laptop was unplugged, no external monitor, just Internet browsing. The GPU was enabled using gfxCardStatus 2.4.3i set to 'Discrete only' and the Radeon was drawing was ~4W.

    I set gfxCardStatus to 'Integrated Only' to turn off the GPU, and suddenly the Radeon increased its power draw to 10W.

    Not sure if this is a gfxCardStatus bug or something wrong with the laptop. But hmmmm!

Share This Page