Closed Bug 1182851 Opened 10 years ago Closed 10 years ago

[mac] WebGL and HTML5 Video permanently switch to discrete GPU, never switch back

Categories

(Core :: Graphics, defect)

41 Branch
x86
macOS
defect
Not set
normal

Tracking

()

RESOLVED DUPLICATE of bug 1100252

People

(Reporter: epmatsw, Unassigned)

Details

User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:41.0) Gecko/20100101 Firefox/41.0 Build ID: 20150711004006 Steps to reproduce: 0. Install gfxCardStatus (https://gfx.io/) to monitor which GPU is in use. 1. Open Firefox. 2. Browse to a site with Flash content (I used reddit.com with an embedded Youtube video using RES). 3. Trigger the Flash content (ie play the video), which causes a switch to the dedicated GPU. 4. Close the tab or otherwise navigate to a different page. 5. Notice that the dedicated GPU is still in use. Actual results: Closing a tab that requires dedicated GPU doesn't switch back to the integrated GPU. Expected results: Closing a tab that requires dedicated GPU SHOULD switch back to the integrated GPU.
Note that this requires a laptop with a dedicated GPU.
OS: Unspecified → Mac OS X
Hardware: Unspecified → x86
WebGL content also has this issue.
Summary: Flash Plugin Makes Firefox Use Dedicated GPU and Doesn't Revert Until Restart → Pages that Require Dedicated GPU Force Dedicated GPU Until Restart, Even If Closed
Does this work in other browsers? Do you know if the dedicated GPU is never switched away from throughout the lifetime of Firefox, or is the switch back just delayed by a few minutes? It's possible that newer versions of OS X added their own delay.
I've been testing using http://www.fishgl.com/. In Safari, opening that in a tab triggers a switch to the dedicated GPU, and closing the tab immediately switches back. In Chrome, the behavior is the same, but the switch is delayed by maybe 5 seconds. In Firefox, I have not yet witnessed it switching back automatically after a few minutes of watching.
If the switch is triggered by Flash, we are supposed to unload Flash 30 seconds after it is no longer used. Can you check whether that's happening (look at whether plugin-container child process(es) for Flash disappear after a while). Otherwise I don't know what the triggers are which switch one way or the other. If this entirely related to plugins/Flash, it should be in Core:Plug-Ins. If this is a more general problem, it should be in Core:Graphics.
Yikes. My initial bug report was actually completely incorrect. Flash does not exhibit this behavior. That is, closing a tab with accelerated Flash content immediately switches back to the integrated GPU. I noticed the original bug on Youtube, but it turns out I'm actually using the HTML5 player. So, in summary: Accelerated flash content (http://flash.flowplayer.org/demos/configuration/accelerated.html) - correct behavior WebGL content (about:support) - incorrect behavior HTML5 video (reddit.com with RES) - incorrect behavior Seems as though this is a general graphics issue. My about:support (this is on the 2015 15" MacBook Pro): Asynchronous Pan/Zoom none Device ID 0x0d26 GPU Accelerated Windows 1/1 OpenGL (OMTC) Supports Hardware H264 Decoding false Vendor ID 0x8086 WebGL Renderer ATI Technologies Inc. -- AMD Radeon R9 M370X OpenGL Engine windowLayerManagerRemote true AzureCanvasBackend skia AzureContentBackend quartz AzureFallbackCanvasBackend none AzureSkiaAccelerated 0
Component: Untriaged → Graphics
Flags: needinfo?(milan)
Product: Firefox → Core
Summary: Pages that Require Dedicated GPU Force Dedicated GPU Until Restart, Even If Closed → [mac] Watching a youtube video permanently switches to discrete GPU, never switches back
Looks like a duplicate of bug 1100252? Will, if you agree, can you set this one as a dupe?
Flags: needinfo?(milan) → needinfo?(epmatsw)
It seems very similar, and I would not be surprised if it has the same root cause. However, the symptoms are different. That bug is specifically about plugin-container and Flash. I do not see the issue with Flash, only with WebGL. That said, I'll defer to your judgement since I'm not fully aware of the underlying differences between the two.
Flags: needinfo?(epmatsw)
Summary: [mac] Watching a youtube video permanently switches to discrete GPU, never switches back → [mac] WebGL and HTML5 Video permanently switch to discrete GPU, never switch back
Sounds about the same, and we've had more action on the other bug, so I'll duplicate it.
Status: UNCONFIRMED → RESOLVED
Closed: 10 years ago
Resolution: --- → DUPLICATE
You need to log in before you can comment on or make changes to this bug.