Open Bug 1100252 Opened 10 years ago Updated 2 years ago

Dedicated graphics forced and not released on OS X dev edition and nightly debug builds

Categories

(Core :: Graphics, defect, P3)

x86_64
macOS
defect

Tracking

()

REOPENED
Tracking Status
e10s - ---

People

(Reporter: ttaubert, Unassigned)

References

Details

(Whiteboard: [gfx-noted])

gfxCardStatus is a nice tool to show which graphics card is used on OS X.

As soon as the plugin-container loads it forces a switch to the dedicated graphics card, no matter if the page using flash is the active one or not. In my case I load IRCCloud which uses Flash only to play a tone, it is an otherwise non-graphical Flash app. Loading http://www.golem.de/ has the same behavior, even with Adblock Plus active.

Testing the same pages witch Chrome, it will always use the integrated graphics card and probably use a lot less power too.
Looks like an e10s bug.
Blocks: e10s-perf
Summary: plugin-container forces dedicated graphics at all times → [e10s] plugin-container forces dedicated graphics at all times
Is plug-ins a better component for this?
Component: Graphics → Plug-ins
OS: Mac OS X → All
Is this the plugin-container that we use for web content or the one we use for actual plugins? If it's the latter, does it only happen with e10s?
Flags: needinfo?(ttaubert)
Yes, it's the plugin container that we use for plugins. When reloading IRCCloud my machine shortly switches to integrated graphics and then back to dedicated as soon as the Flash plugin is loaded again. I'm always on integrated graphics in non-e10s mode.
Flags: needinfo?(ttaubert)
Assignee: nobody → davidp99
tracking-e10s: --- → m7+
FTR, the same happens when viewing a GitHub page that lists a few commits. I assume the flash plugin loaded there enables copy/pasting the commit hash.
Jeff and I did the initial implementation (I don't have the bug # handy).

It's probably that we're no longer hitting http://mxr.mozilla.org/mozilla-central/ident?i=TriggerQuirks early enough on startup (did the startup sequence change?).

Otherwise we're probably creating an OGL context without the special flag.

Needinfo me if you're not sure how to more forward.
No longer blocks: 1096122
It seems like permanent switching between the two graphics cards freezes OS X 10.10 for me constantly (i.e. 4-5 times a day). Upon force-rebooting the machine OS X tells me that a "Graphics problem has been detected".

This seems almost reproducible when navigating a single GitHub tab for example. When a link is clicked and the page unloaded we switch to integrated graphics only to switch back to dedicated a split second after because GitHub uses Flash for some things.
Blocks: 1111396
No longer blocks: power, e10s-perf
Blocks: e10s-gfx
No longer blocks: 1111396
Blocks: e10s-plugins
Assignee: davidp99 → mconley
Are you still able to reliably reproduce this, ttaubert?

I have gfxCardStatus installed. Starting on the integrated card, I just visited http://www.golem.de/ with Flash Enabled by default, and I didn't see it switch from integrated to discrete.
Flags: needinfo?(ttaubert)
I don't have Flash installed anymore on my machine :/
Flags: needinfo?(ttaubert)
Still unable to reproduce this on my MBP running 10.8.5 with gfxCardInfo.

If anybody else running gfxCardInfo notices rapid switching between integrated and discrete when loading up plugins, please re-open this bug. Until then, I think this is WFM.
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → WORKSFORME
I am able to reproduce this with both e10s and non-e10s when viewing the Flash YouTube player embedded in other pages.

STR:

0) On OS X, make sure you have gfxCardStatus installed, and that you're starting in Integrated mode. Dynamic switching should also be enabled.
1) Visit http://www.reddit.com/r/videos
2) Find any video hosted on YouTube that sounds tasteful to you, and click on the "play" icon to open up the embedded Flash YouTube player on the Reddit page.
3) Notice that gfxCardStatus switches to Discrete mode
4) Start playing the video
5) Notice that gfxCardStatus eventually switches back to Integrated mode

ER:

We should not flip-flop between integrated and discrete, I don't think. Seems unnecessary.

As I say above, I was able to reproduce this on OS X with e10s disabled, so I'm setting tracking-e10s-.
Status: RESOLVED → REOPENED
Resolution: WORKSFORME → ---
Mike, were you actually able to see this problem on OS X less than version 10.10?  You mention 10.8.5 in comment 14, but wanted to check.
Flags: needinfo?(mconley)
We should in general prefer integrated graphics on mac. We should only use discrete graphics when we necessary for performance: discrete graphics costs a lot more power than the integrated card, in general. And when we don't need discrete, we should flip back.

Bug 1182851 was filed which may be a dup of this. In that bug we switch to the GPU when viewing youtube, and it an expectation that we'll switch back when we're done decoding/playing the video, but that never happens.
These are my results, on 10.9.5 with Flash set to "Ask to activate":

41 Dev edition, about:support - with or without E10S, it gets stuck on dedicated graphics.
41 Dev edition, youtube html5 video - with E10S it lets go, without E10S it gets stuck on dedicated graphics.

42 Nightly, both about:support and youtube html5 video let go of dedicated graphics even before the tab is closed.
42 Nightly, about:support lets go of E10S on tab closing, youtube lets go even before the tab is closed.

Anthony, can you run some more tests on this, I'd like to see what other variables may or may not affect this.
Flags: needinfo?(mconley)
Flags: needinfo?(bgirard)
Flags: needinfo?(anthony.s.hughes)
Summary: [e10s] plugin-container forces dedicated graphics at all times → dedicated graphics forced and not released
I don't think this is my bug anymore.
Assignee: mconley → nobody
(In reply to Milan Sreckovic [:milan] from comment #18)

I tested on Nightly and everything seems good. Perhaps we have a regression in 41 that's fixed in 42?
Flags: needinfo?(bgirard)
(In reply to Benoit Girard (:BenWa) from comment #21)
> (In reply to Milan Sreckovic [:milan] from comment #18)
> 
> I tested on Nightly and everything seems good. Perhaps we have a regression
> in 41 that's fixed in 42?

Is this a Mac-only bug? I don't have a Mac with switchable graphics.
Flags: needinfo?(anthony.s.hughes)
There's something fishy here. Testing about:support (which invokes WebGL):
- My local build reproduces the issue, and we're releasing ForceDiscreteGPUHelperCGL properly when WebGL is released.
- My nightly build does not reproduce the issue.

(In reply to Anthony Hughes, QA Mentor (:ashughes) from comment #22)
> Is this a Mac-only bug? I don't have a Mac with switchable graphics.

Yes, you need switchable graphics.
Seems to be based on the bundle id 'CFBundleIdentifier' found in:
FirefoxNightly.app/Contents/Info.plist

Works:
org.mozilla.nightly
org.mozilla.firefox

Does not work:
org.mozilla.firefoxdeveloperedition
org.mozilla.nightlydebug
The quirks mode is broken but once I fixed it and force it on I can get things to work using the org.mozilla.nightlydebug bundle.
Alright so this bug shouldn't have anything to do with e10s. The following will be affected:
- Firefox Developer Edition Chrome (about:support or all in e10s)
- Firefox Nightly Debug / local dev build (about:support or all in e10s)

It's possible that OS X version before OS X 10.10 (14A389) more version are affected.

If you can reproduce the bug on configurations that are not listed above please let me know!
Flags: needinfo?(mconley)
I'm running 10.8.5, and have only seen this on Nightly and Developer Edition. I'll keep an eye out for it.
Flags: needinfo?(mconley)
As mentioned in comment 18, I only see this (and have only seen this) on dev edition, and I'm on 10.9.5.  As you said, independent of E10S and OS X version, it seems.

With this in hand, if only the dev edition and nightly debug (local) build are affected, I don't think this is high priority.
Component: Plug-ins → Graphics
Summary: dedicated graphics forced and not released → Dedicated graphics forced and not released on OS X dev edition and nightly debug builds
Whiteboard: [gfx-noted]
No longer blocks: e10s-plugins, e10s-gfx
Severity: normal → S3

The severity field for this bug is relatively low, S3. However, the bug has 3 duplicates.
:bhood, could you consider increasing the bug severity?

For more information, please visit auto_nag documentation.

Flags: needinfo?(bhood)

The last needinfo from me was triggered in error by recent activity on the bug. I'm clearing the needinfo since this is a very old bug and I don't know if it's still relevant.

Flags: needinfo?(bhood)
You need to log in before you can comment on or make changes to this bug.