My favorites | Sign in
Project Home Downloads Wiki Issues Code Search
New issue   Search
for
  Advanced search   Search tips   Subscriptions
Issue 43706: Flash Plugin triggers graphics switching on new MacBook Pro models
31 people starred this issue and may be notified of changes. Back to list
Status:  WontFix
Owner:  viettrun...@chromium.org
Closed:  May 2010
Cc:  stuartmorgan@chromium.org
M-6

Restricted
  • Only users with EditIssue permission may comment.


Sign in to add a comment
 
Reported by andreas....@gmail.com, May 9, 2010
OS version: 10.6.3

Chrome Version: 5.0.375.29 beta

Behavior in Chrome for Windows: (not applicable)

Other browsers tested:
Safari 4.0.5: OK
Firefox 3.6.3: OK

What steps will reproduce the problem?

1. Use a recent Apple MacBook Pro with on-demand graphics performance
switching (Intel i5/i7 based models)
2. Install GPUInfoMenu from
http://gpuinfomenu.dotstrosity.net/GPUInfoMenu.zip to see which GPU is
actually being used
3. Start any a Flash based animation or video in Chrome
4. Watch the system switch to the NVidia GPU

What is the expected result?

Chrome should use the integrated Intel GPU which consumes considerably less
power than the NVidia chip resulting in prolonged battery life.

What happens instead?

Google Chrome makes the system switch to the NVidia GPU and stick with this
setting even if the Chrome tab containing the Flash animation is closed.
Only restarting Chrome will remedy the problem. This behavior has a very
negative impact on battery life on the affected machines. For me
personally, it is reason not to use Chrome as my default browser unless
this issue is resolved. (As a side note, I will keep using Chrome while on
power adapter because it is so freaking awesome.)

Please provide any additional information below. Attach a screenshot if
possible.

Attached you'll find screenshots of the said menubar item identifying
Chrome as the application demanding the switch to high performance graphics
mode.

chrome_nvidia.png
37.3 KB   View   Download
no_chrome_intel.png
25.8 KB   View   Download
May 9, 2010
#1 stuartmorgan@chromium.org
 Issue 43708  has been merged into this issue.
May 9, 2010
#2 stuartmorgan@chromium.org
 Issue 43687  has been merged into this issue.
May 9, 2010
#3 stuartmorgan@chromium.org
It would be helpful if someone could install Flash 10.1 RC 4:
http://labs.adobe.com/downloads/flashplayer10.html#flashplayer10
and report whether this happens in Firefox and Safari as well once you do.
May 9, 2010
#4 stuartmorgan@chromium.org
(No comment was entered for this change.)
Labels: Area-Internals Internals-Plugins
May 9, 2010
#6 jonath...@gmail.com
I installed Flash 10.1 RC 4 and neither Firefox nor Safari switch GPU when I go to a page with Flash content.  
When I open the same page with Chrome (5.0.375.29 beta) the GPU switches immediately.  So the issue does not 
appear to be with 10.1 RC 4.
chromeFlash.png
54.6 KB   View   Download
ffxFlash.png
68.6 KB   View   Download
May 9, 2010
#7 andreas....@gmail.com
I have Flash Player 10.1 installed in FF and Safari, too. The GPU switching only appears in Chrome.

I think RC4 is Windows only. The Mac version is also 10.1 but it's called "Gala" not RC4. I'm pretty sure that 
earlier versions of Flash player will not show this behavior since hardware video acceleration was introduced 
with this release.

However, someone should test this with an earlier release of Flash.

Thanks for working on this, Chromium guys. You're doing an incredible job. I very much appreciate all the 
efforts that went into Chrome. It's by all means the greatest browser out there. Keep up the good work!

May 9, 2010
#8 stuartmorgan@chromium.org
RC4 is not windows only; it's the link called "Download plug-in for Macintosh" on the page I linked to. Gala is 
a completely separate version (it's further down that page), and is not comparable to the version that ships 
with Chrome.

The internal version of Flash shipped with Chrome is closest to 10.1 RC2, so testing with Flash 10.0 wouldn't 
be useful.

> I have Flash Player 10.1 installed

What version? There have been a number of 10.1 RCs released.
May 9, 2010
#9 andreas....@gmail.com
Stuart, you're right, there's a RC4 for Mac, too. My bad.

After installing RC4, browsers report the following versions:

Chrome: 10,1,53,22
FF and Safari: 10,1,53,38

The behavior is unchanged, Chrome switches to the NVidia GPU while Safari and FF won't.

So, yes it seems that this issue was fixed after RC2 and shipping RC4 (or later) with Chrome would resolve this 
issue.
May 10, 2010
#10 stuartmorgan@chromium.org
> The behavior is unchanged, Chrome switches to the NVidia GPU while Safari and FF won't.

And what if you disable the internal Flash plugin in Chrome (using about:plugins) and relaunch, so that Chrome 
is using RC4 as well?
Status: Untriaged
Cc: stuartmo...@chromium.org viettrun...@chromium.org
May 10, 2010
#11 andreas....@gmail.com
Ok, I wasn't aware that concurrent versions of the Flash plugin could be enabled. When I deactivate the internal 
plugin, Chrome reports 10,1,53,38 but still switches to the NVidia GPU. The process requesting the switch is 
"Google Chrome Helper" according to the GPUInfoMenu utility.

HTH
May 10, 2010
#12 stuartmorgan@chromium.org
I don't suppose it will tell you the PID in addition to the process name? I'm not sure if that's the renderer process 
or the plugin process.

If not, does killing the Flash host process in Activity Monitor cause it to switch back? That should tell us whether 
it's the plugin process.
May 10, 2010
#13 legege
A temporary workaround is to install FlashBlock. Without Flash, Intel card is used!
May 10, 2010
#14 andreas....@gmail.com
Killing the process "Shockwave Flash (Chrome Plug-In Host)" switches back to Intel HD Graphics immediately. The 
Renderer process is still running. Chrome says: "The following plug-in has crashed: Flash Player". 

May 10, 2010
#15 stuartmorgan@chromium.org
So we need to figure out why Flash is triggering this mode only when running in Chrome. Something related to 
our wmode hack, maybe?
Owner: viettrun...@chromium.org
Cc: -viettrun...@chromium.org
Labels: -Area-Undefined
May 10, 2010
#16 mikesm...@chromium.org
(No comment was entered for this change.)
Status: Assigned
Labels: Mstone-6
May 12, 2010
#17 joshuada...@gmail.com
just to add a little more to this, the way safari behaves regarding the new automatic graphics is that it uses the 
intel card for any flash that's rendered in a window but then switches to the nvidia card when the flash is 
rendered in full screen. 

to produce this behavior, one can watch hulu in windowed mode and it doesn't trigger the change, but as soon 
as i go to fullscreen it does. in chrome 5.0.375.38, however, the change is triggered (as another reader 
mentioned) as soon as any flash content is instantiated.  


May 21, 2010
#18 mikesm...@chromium.org
Not under our control
Status: WontFix
May 21, 2010
#19 legege
Seriously? There is probably a reason why Firefox doesn't have this problem and Chrome 
has. That has nothing to do with the way Flash process is launched?
May 21, 2010
#20 lin...@gmail.com
'WontFix'!! surprising..
May 21, 2010
#21 andreas....@gmail.com
Using my laptop for a while, I've noticed that some applications cause a switch to the NVidia GPU without any 
obvious reason (no video playback, no fancy graphics). It might be helpful to investigate, what actually causes OS 
X to switch to the faster GPU.

I understand that this is a difficult problem and it probably isn't worth throwing resources at something which 
only affects a very small percentage of users. But it is certainly under your control...
May 21, 2010
#22 stantheg...@gmail.com
The behaviour seems to be caused by ChromeHelper, because once the Nvidia GPU is triggered for the first time 
it remains active until Chrome is entirely shut down, no mater what windows are open or whether or not they are 
displaying flash.
May 21, 2010
#23 stuartmorgan@chromium.org
Spending time on this now isn't useful given the reports that any use of Core Animation triggers the switch, 
since before too much longer the expectation is that Flash will be Core Animation based all of the time in 
Chrome (and Safari, and Firefox, since Mozilla has already landed support for that plugin mode for Gecko 
1.9.3). Anything we changed now would almost immediately be irrelevant.

I recommend that people unhappy with the current switching situation direct their complaints to Apple; having 
every third-party developer rewrite their applications to stop using a core OS technology is not a good 
solution--especially in this case, where CA will give a *substantial* performance improvement (on the order of 
2x improvement in CPU usage) over other plugin drawing models.
May 21, 2010
#24 arag...@gmail.com
The point is that it's ok for Chrome to be more battery/graphic resource intensive, as long as it's faster is quite 
weak. I understand the frustation with not knowing the precise cause, but “browsing” should not be a battery-
intensive task.
May 21, 2010
#25 stuartmorgan@chromium.org
Whether that is a weak point or not isn't relevant, because it's not the point I was making. Let me try one more 
time:
Flash will be using the Core Animation drawing model in all browsers in the near future. This is a good thing. 
It's not about "faster", it's about using half as much CPU (you know, one of the things your laptop battery is 
powering) for the same quality. Lowering the CPU usage of Flash on the Mac, and in Chrome particularly, has 
been something people have been asking for for quite some time.

Apple has been encouraging developers to use Core Animation for all kinds of things since the announcement 
of 10.5. Apple created the plugin spec that allows plugins to use Core Animation. Apple deprecated the only 
other way for plugins, including Flash, to get hardware accelerated drawing.

Next, read this article:
http://arstechnica.com/apple/news/2010/05/auto-graphic-switching-and-dwindling-macbook-pro-
batteries.ars

So there are two paths toward resolving the issue this bug is really about: you not wanting your laptop to 
change which graphics card it is using:
1) All the plugin vendors who have adopted Core Animation can abandon it and move to software rendering, 
meaning higher CPU usage (read: battery drain) and lower framerates for every plugin. Simultaneously, every 
third-party Mac developer who has added Core Animation over the last several year can rewrite parts of their 
app. No app that wants to avoid angering laptop users can ever use a whole chunk of the UI tools Apple made 
available to third-party developers. Or,
2) Apple can change the way graphics switching is controlled.

Option 1 is not only completely impractical, but--I cannot stress this enough--is almost certainly not going 
to help your battery life, and might well hurt it, because Flash in Chrome will use *twice as much CPU* as it 
will under Core Animation. It's not actually good for users. So if this is important to you, I suggest pursuing 
option 2. That's not something Chromium has any control over though.
May 22, 2010
#26 andreas....@gmail.com
In an attempt to make fellow MacBook owners lives a little easier, here's two tips:

1. Block Flash. We have to get past this sometime, so why not start today? Not allowing any Flash animations to 
run on your page will not cause Chrome to switch the GPU.

2. Use the GPUInfoMenu tool from Aaron L'Heureux. Not only will it show you which apps are actually using the 
discrete GPU but it also allows you to automatically switch back to Intel graphics when on battery. It's much 
better than gfxCardStatus (which seems to get more public attention), so just give it a try.

http://gpuinfomenu.dotstrosity.net/

May 30, 2010
#28 jaewki...@gmail.com
As long as you close all tabs/windows that has flash content and let it still idle for a while, it will switch back to 
intel graphics. it does raises concern since a lot of the website will host flash-based ads.
Jun 1, 2010
#29 kol...@gmail.com
It seems like there are two separate issues...

1. Core Animation and specifically Flash cause the NVIDIA discrete processor to be used. I understand the 
point that adjustments to this behavior are premature because Apple will be forced to address this shortly and 
make changes on their end. Not sure why Firefox doesn't suffer the same problem, but ok, that sounds 
reasonable.

2. After all Flash content is closed, Chrome continues to hold the discrete graphics, at least for 'a while', 
causing unnecessary battery drain. This seems to be a problem specific to Chrome, where WontFix doesn't 
seem appropriate. If Chrome never releases the discrete GPU even after Flash and Core Animation SHOULD 
release it, this requires a fix and WON'T necessarily be addressed on Apple's end.
Jul 10, 2010
#30 thakis@chromium.org
 Issue 48758  has been merged into this issue.
Jul 29, 2010
#32 viettrun...@chromium.org
(No comment was entered for this change.)
Labels: Restrict-AddIssueComment-Commit
Oct 24, 2010
#33 rsesek@chromium.org
 Issue 60494  has been merged into this issue.
Nov 29, 2010
#34 stuartmorgan@chromium.org
 Issue 64615  has been merged into this issue.
Jan 3, 2011
#35 stuartmorgan@chromium.org
 Issue 68364  has been merged into this issue.
Mar 10, 2013
#36 bugdroid1@chromium.org
(No comment was entered for this change.)
Labels: -Area-Internals -Mstone-6 Cr-Internals M-6
Mar 13, 2013
#37 bugdroid1@chromium.org
(No comment was entered for this change.)
Labels: -Restrict-AddIssueComment-Commit Restrict-AddIssueComment-EditIssue
Sign in to add a comment

Powered by Google Project Hosting