Skip to content
This repository has been archived by the owner on Sep 6, 2021. It is now read-only.

Mac discrete graphics card required. #5028

Closed
skoya opened this issue Sep 3, 2013 · 32 comments
Closed

Mac discrete graphics card required. #5028

skoya opened this issue Sep 3, 2013 · 32 comments

Comments

@skoya
Copy link

skoya commented Sep 3, 2013

For some reason on a mac book pro retina, opening brackets causes the graphics card to switch from integrated to discrete. This drains the battery quicker when using brackets on the move. Note that chrome/safari and others do not switch graphics. Do we know why brackets does? - If there is an advanced rendering feature being used by brackets then perhaps a switch/option to disable would be greatly appreciated.

@JeffryBooher
Copy link
Contributor

@skoya do you know when this started?

@JeffryBooher
Copy link
Contributor

@skoya Also, do you see this with the Chrome Canary (https://www.google.com/intl/en/chrome/browser/canary.html) build as well? I only have 10.8 on retina and gfxCardStatus has issues with 10.8 but it seems that the compositing mode used in the newer builds of Chromium may be shifting the GPU into discreet mode.

@skoya
Copy link
Author

skoya commented Sep 3, 2013

I am not sure when it started. Chrome Canary is fine: 31.0.1619.0 - it doesn't switch away from the integrated graphics card.

I am just updating canary to the latest version will report back once downloaded (on 3g at the moment).

I also have OSX 10.8.4

@skoya
Copy link
Author

skoya commented Sep 3, 2013

31.0.1620.0 doesn't switch either. Could there be something in the brackets app shell?

@gruehle
Copy link
Member

gruehle commented Sep 12, 2013

Medium priority to @JeffryBooher for investigation. This may be an issue with CEF, or it could be something triggered by some of our custom CSS. We should figure out what is causing this switch.

@njx had a good suggestion -- try running Tailor (the Chrome Packaged App version of Brackets) and see if it also triggers the discreet graphics card.

@peterflynn
Copy link
Member

We could also test the CEF theory by doing something like window.location.href = "www.google.com"; in the dev tools for Brackets, and seeing if that simpler content running in CEF also forces the discrete GPU.

@mseymour
Copy link

I'm on 0.34.0-10729 here (Mid-2012 non-retina MBP), and it switches graphics from integrated to discrete.

It's kind of a pain when the card takes a while to switch (No idea if it has to do with the fact that I only have 4GB ram or what, though.)

@framerate
Copy link

This behavior is still happening, yet I noticed this bug was closed? Is this something we should look at?

@njx
Copy link
Contributor

njx commented Nov 19, 2013

This bug is still open. (The "closed" indication above is for another issue that was a duplicate of this one.)

@CMRahman
Copy link

Same thing happens in Maverics as well. Is anyone looking into it?

@peterflynn
Copy link
Member

@CMRahman You can check the assignee of any bug in the header at the top of the page. In this case it's assigned to @JeffryBooher, so that's who's looking into it.

@JeffryBooher
Copy link
Contributor

It looks like this problem is caused by Chrome Compositing:
https://code.google.com/p/chromium/issues/detail?id=192668

I also see this
gfxstatus

Even without having any tabs open or fresh start with Chrome just showing the Google search page.

Chrome: Version 31.0.1650.57

Marking this item to Track

@peterflynn
Copy link
Member

@skoya @mseymour @framerate @CMRahman Can you reply back and let us know (a) what vintage Mac you're using (Apple menu > About this Mac > More Info should give something like "Mid 2009") and (b) what version of Mac OS you're running. It would also be useful if you could check whether launching Chrome itself causes the same thing to happen. Thanks!

This Chromium comment is interesting:

There are severe bugs in the graphics drivers for the mid-2010 MacBook Pro which can lead to entire system lockups when switching between the integrated and discrete GPU. For this reason Chrome forces the use of the discrete GPU on such systems.

Unclear what exactly defines "such systems" but it would be good to see what the patterns are among users who are hitting this.

@framerate
Copy link

I'm a bit confused to your "vintage" mac comment. I have the last generation retina macbook pro.

image

OSX 10.9 Mavericks

Latest version everything.

Also, I'm running Chrome Canary right now and it is NOT triggering my discrete graphics. Although certain pages will (WebGL for example).

@mseymour
Copy link

Mid-2012 non-retina, 10.9. Launching Chrome itself doesn’t cause the switch.

@CMRahman
Copy link

screen shot 2013-11-28 at 9 14 55 am

OSX > 10.9 Mavericks.

I use Chrome Canary[v33] and it does't trigger discrete graphics. Regular Chrome [v31] doesn't either.
Please let me know if you need any other info.

Thanks.

@JeffryBooher
Copy link
Contributor

I use Google Chrome and it will not let me switch to the lower powered GPU on my Macbook as shown above. @CMRahman are you using gfxCardStatus to determine that you're not running in discreet graphics mode when chrome is running? Even with a blank page -- the helper process seems to require it for me.

@CMRahman
Copy link

CMRahman commented Dec 7, 2013

@JeffryBooher - I seem to have no problem wtih Chrome as you can see from the screenshot. And yes, i'm using gfxCardStatus. I did notice that sometimes, firing up Chrome switches to discreet but then after awhile it switches back to integrated. Something that never happens with Bracket. With Bracket it always seem to run on discreet graphics.

chrome-integrated

@CMRahman
Copy link

CMRahman commented Dec 7, 2013

@JeffryBooher -- Also, if I have both Chrome and Brackets open and try to switch to integrated only, it complains about Brackets only. Screenshot attached. Thanks.

brackets-discreet

@daveygm
Copy link

daveygm commented Dec 13, 2013

I have a pull request that should fix this. It appears to just be a setting in the Info.plist file that allows the integrated GPU to be used for OpenGL and API's that rely on OpenGL.

NSSupportsAutomaticGraphicsSwitching needs to be set to true. Here is the Apple documentation for that.

By default, once your application creates an OpenGL context (by either calling OpenGL directly or an API that relies on OpenGL such as Core Animation, Core Image, etc), the MacBook Pro automatically switches to the higher-end discrete GPU for performance concerns and won't switch back until the application quits.

This can be seen in the Mavericks Activity Monitor under Energy > Requires High Perfg GPU.
after

@framerate
Copy link

Bravo Dave! Thanks for taking the time to find this!

@skoya
Copy link
Author

skoya commented Dec 14, 2013

Let us know once it makes a build and I will help test it.
On 13 Dec 2013, at 17:52, Justin Reynard notifications@github.com wrote:

Bravo Dave! Thanks for taking the time to find this!


Reply to this email directly or view it on GitHub.

@daveygm
Copy link

daveygm commented Dec 20, 2013

Glad to help guys. The pull request was merged, so I think we will see this fix in Sprint 36.

@jasonsanjose
Copy link
Member

Tagged FBNC, see adobe/brackets-shell#399

@CMRahman
Copy link

Thanks Dave.

@daveygm
Copy link

daveygm commented Feb 7, 2014

The update is now live in Sprint 36. This should now be fixed (theoretically) for dual-GPU Macbook Pros produced February 2011 and later running Mac OS X Lion and later. Please test and check back in.

@framerate
Copy link

Working great so far for me!


*- justin *| @framerate http://twitter.com/framerate | framerate.info

On Fri, Feb 7, 2014 at 2:14 PM, David Mead notifications@github.com wrote:

The update is now live in Sprint 36. This should now be fixed
(theoretically) for dual-GPU Macbook Pros produced February 2011 and later
running Mac OS X Lion and later. Please test and check back in.

Reply to this email directly or view it on GitHubhttps://github.com//issues/5028#issuecomment-34512454
.

@njx
Copy link
Contributor

njx commented Feb 8, 2014

Closing as fixed. @skoya - if you could confirm that would be great. Thanks @daveygm!

@njx njx closed this as completed Feb 8, 2014
@skoya
Copy link
Author

skoya commented Feb 8, 2014

Confirmed works fine with integrated graphics card - thanks for making brackets usable on the train again!

@tiwuti
Copy link

tiwuti commented Aug 12, 2015

@daveygm Is there a way to get this working on a Macbook pro before 2011?

@calvin2000001
Copy link

If I am using Adobe Indesign it says I can't switch, but if I close the program, and then restart Indesign with "integrated", it starts up just fine and stays in that mode. Is that safe?

@daveygm
Copy link

daveygm commented Dec 3, 2017 via email

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

13 participants