#5051 closed Bug (fixed)
Mac client causes dual-GPU Macbook Pros to use the discrete GPU
Reported by: | fwny | Owned by: | livings124 |
---|---|---|---|
Priority: | Normal | Milestone: | 2.72 |
Component: | Mac Client | Version: | 2.61 |
Severity: | Normal | Keywords: | |
Cc: |
Description
Opening the client causes Macbook Pros with dual graphics to switch to the discrete GPU.
Attachments (1)
Change History (18)
Changed 9 years ago by fwny
comment:1 Changed 9 years ago by livings124
comment:2 Changed 9 years ago by fwny
I haven't done any non-mobile Mac dev but I am under the impression that the graphics switching is triggered by the use of certain APIs.
This issue is happening on a mid-2012 Macbook Pro Retina if that matters at all.
comment:3 Changed 9 years ago by livings124
I would think this is an operating system issue. Is there a reason that we should force a specific GPU to be used, and a reason why the operating system shouldn't be the one making the decision?
comment:4 Changed 9 years ago by fwny
I think the desirable behaviour is that the application shouldn't be deciding which GPU to use, but it shouldn't be influencing which one to use either (which is the issue).
Transmission is not a graphics intensive app so the switch to the discrete GPU is just a drain on battery life.
comment:5 Changed 9 years ago by fwny
More information on quick reproduction:
Open Transmission Click "Create torrent file" or "Open torrent files" button.
As soon as you click those buttons you will notice the OS swap over to discrete graphics.
comment:6 follow-up: ↓ 7 Changed 9 years ago by cfpp2p
fwny
This issue is happening on a mid-2012 Macbook Pro Retina if that matters at all.
I don't use MAC but might #4749 have anything to do with this?
comment:7 in reply to: ↑ 6 Changed 9 years ago by livings124
comment:8 Changed 9 years ago by livings124
http://developer.apple.com/library/mac/#qa/qa1734/_index.html%23//apple_ref/doc/uid/DTS40010791
Still not sure if this is something we should be doing, however. It seems like something the operating system should determine on its own.
comment:9 Changed 9 years ago by fwny
I think the OS lacks the information needed to make the correct decision on this. From that article it seems it bases the decision to switch to discrete graphics entirely from the fact that an OpenGL context has been created. There is no distinction between a high-end game and a small application that just wants to do a window transition animation or something.
Aside from that, I still think the current behaviour is definitely wrong from a user standpoint. The app is causing initialization of expensive, user visible resources that it does not need.
I've added that plist attribute to my own install and it seems to fix the behavior.
comment:10 Changed 9 years ago by livings124
- Milestone changed from None Set to 2.72
- Resolution set to fixed
- Status changed from new to closed
- Type changed from Bug to Enhancement
Fair enough. I've set this flag in the Info.plist.
comment:11 Changed 7 years ago by maxclimber1w
- Resolution fixed deleted
- Status changed from closed to reopened
- Type changed from Enhancement to Bug
- Version changed from 2.61 to 2.82
comment:12 Changed 7 years ago by livings124
What type of machine are you using? We're still setting the flag to support automatic graphics switching, but https://developer.apple.com/library/mac/qa/qa1734/_index.html says that that only works on Macbook Pros from 2011 on. I don't know if there's anything else we can do.
comment:13 Changed 7 years ago by livings124
- Resolution set to fixed
- Status changed from reopened to closed
comment:14 Changed 7 years ago by livings124
- Version changed from 2.82 to 2.61
comment:15 Changed 7 years ago by x190
Ref: http://stackoverflow.com/questions/4177552/how-to-disable-macbook-pro-from-switching-to-a-high-performance-graphics-card-in https://developer.apple.com/library/mac/qa/qa1734/_index.html http://reviews.cnet.com/8301-13727_7-20042341-263.html https://www.everymac.com/systems/apple/macbook_pro/macbook-pro-unibody-faq/macbook-pro-unibody-switching-between-graphics-processors.html
Interesting. Any idea what causes this or why it happens. Shouldn't this be something handled by the operating system?