Vivaldi Helper Requires High Performance GPU
-
I just noticed by way of the excellent gfxCardStatus program, that Vivaldi is forcing my MacBook Pro to use its power-hungry discrete GPU instead of the energy saving integrated Intel GPU.
Activity Monitor shows that the process "Vivaldi Helper" requires a high performance GPU. This doesn't seem like it should be the case and is probably a bug.
Vivaldi should probably also support App Nap (which can further reduce power consumption) like Chrome and Safari are able to.
-
Hmm, try and untick the chrome setting "use hardware acceleration when available" and see what happens.
You can get there by visiting chrome://settings/ and clicking "show advanced settings". This will of course disable all hardware acceleration, at which point your cpu does the job....
-
... and don't forget that the change won't take effect until you restart Vivaldi. When you do, go into "Tools / Task Manager" and you'll see that the GPU Process helper is no longer active.
FYI, here's what's going on in that GPU Process:
https://sites.google.com/a/chromium.org/dev/developers/design-documents/chromium-graphicsChromium-based browsers use the GPU to accelerate compositing and it's (typically) more efficient and better in terms of performance than using the CPU because the GPU is designed for these types of workloads. You'll have to profile your system to see if disabling hardware acceleration really gives you a net benefit.
-
One more thing... vivaldi://gpu will give you some additional information should you try switching to the integrated GPU and compare its capabilities to the discrete GPU.
While I don't dispute the point you were trying to make in your initial post, I don't think that using the discrete GPU is a bug given that it's available for use. Some features might not be available on the integrated GPU either (arguably) making the discrete GPU a better choice.
Best of luck with your testing.
-
So this is still a thing.
I love Vivaldi, but this is driving me nuts. Whenever I disconnect my MBP from the external Display (which requires the dedicated GPU to be used) Vivaldi is the primary offender that prevents the GPU from being switched over to the integrated GPU.
And my research so far has not shown any reason why this would be. For the GPU acceleration purposes that the browser requires even the very basic Intel iGPU is plenty.This makes Vivaldi just short of agonizing and unusable for any sort of mobile work. The Macbook Pro I am working with (15" mid 2015, dedicated GPU) has quite OK battery life on the iGPU, but with the dedicated GPU it drops to half or even a third of that, rendering any mobile work longer than 90-120 minutes impossible without the power supply.
While that last part is not the fault of the Vivaldi devs, they could damn well make sure they don't use the inefficient way to handle things.
-
yeah - I’m fully seconding you on this. My MacBook just runs out of the battery quicker when the dedicated gpu is active. This is the case only for Vivaldi. If it’s not a bug I am going for a neglected feature. Can we report this to the devs team?
I’m gonna try to switch off the accelaerarion and see where it gets me since I don’t really watch video content in Vivaldi it may work...
I will let you know guys. -
@fuorviatos: I recommend filing a bug report. Despite the name, you can submit a feature request, too.
-
One more voice to back up this request here! It would be awesome if Vivaldi devs would allow users to force integrated GPU (like Chrome does: https://productforums.google.com/forum/#!topic/chrome/SmHlYzcPaKY) since the battery drain difference is huge. If Safari and Chrome can stick with the integrated Intel graphics I don't see why Vivaldi would need the full-blown AMD chip... @fuorviatos did you file a bug report that I can "+1"?
-
@mstrz The Chromium command line switches come and go; they're really meant to aid developers with testing and debugging, not for everyday use. Their function is not even documented anywhere... unless you count the source code itself. Currently, there are no switches or flags in Chromium for selecting which GPU should (or should not) be used for hardware acceleration.
It really should fall on Apple to provide an option or policy to disable the discrete GPU while on battery power in their Power Management settings.
I'm also hoping that the Vivaldi developers can finally get video decoding working fully even with software-based compositing and rendering. At least that way, video playback (including patent-encumbered codecs) will still work when hardware acceleration is disabled or when the Chromium developers choose to blacklist another graphics driver.
-
Thank you for your attention!
I didn't know the Chrome switch is no longer relevant (yay, I don't need the "launcher" for Chrome anymore).I also think it would make sense for Apple to allow users to select the gfx card they prefer. Still Chrome gets by with just the Intel HD Graphics while Vivaldi "insists" on using the Radeon chip... Oh well, I'll keep my fingers crossed something can be done since Vivaldi is hands down the best browser I've tried. Also I'll actually see how it affects the battery, maybe I'm just overreacting to seeing the discrete GPU in use?
-
@mstrz Everybody's situation is different. However, in most cases, you're still better off using the external GPU for compositing, rendering and video decoding than you are offloading those tasks to the main CPU.
I've passed on the general observation to the Vivaldi team that Chrome seems to be more power-efficient and battery-friendly. I don't know what optimizations can be made but the Vivaldi developers are smart people.
-
@mstrz Everybody's situation is different. However, in most cases, you're still better off using the external GPU for compositing, rendering and video decoding than you are offloading those tasks to the main CPU.
but Integrated GPU is not CPU, it's GPU. Just a less power-hog one.
I've passed on the general observation to the Vivaldi team that Chrome seems to be more power-efficient and battery-friendly. I don't know what optimizations can be made but the Vivaldi developers are smart people.
Actually MacOS could be enforced to use Integrated GPU, even with current version of Vivaldi – just select "Integrated only" in gfxCardStatus.app BEFORE launching the app that locks on Discrete GPU.
This method helped me with other apps (Chrome, Slack) before they fixed that GPU issue. But this feature is not quite stable and could lead to failures, so it's better to fix the app.
-
@apocryphal I have seen it for a while also, when Opera switched to Chromium I saw the same thing.
Open Vivaldi Intel GPU is used (Hardware acceleration on and discrete GPU is forced), when PPAPI Flash Player is used discrete GPU is forced (I think it it partly the buggy PPAPI plug in on macOS, PPAPI has the performance I saw of NPAPI on Macs 10 years ago).
-
Hurray!
If I wasn't day dreaming they fixed it with Vivaldi 2.0. -
@reach3r It did start not forcing it but then it did later (no video site just text).
macOS 10.14 here
-
@dshintag Not sure if this works anymore (and I don't have a dual-GPU Mac to test with) but it used to be possible (using the macOS pmset utility from the command line) to set a power management profile so that the MacBook Pro uses the integrated GPU while on battery power. The option isn't documented but searching for
pmset "gpuswitch 0"
finds quite a few discussions on this topic.https://forums.macrumors.com/threads/set-gpu-behaviour-base-on-power-source.2136367/
-
At least with Nvidia GPUs I noticed Apple introduced a regression bug in 10.13, it is still in 10.14 as of 10.14.5 (have reported it to Apple), when on the Intel GPU it is much more stable.
This is the Opera setting for the dedicated GPU (Opera is more stable with this setting (at least with a dedicated Nvidia GPU & integrated Intel GPU)
I did ask Opera how they did that but have not heard back.
-
@Chas4 I don't know what Opera does either. A macOS application can use I/O Kit to assert specific power management settings. If they did it this way, you'll see the assertion when you run
pmset -g assertions
while Opera is running.The only other way that I can think of doing this is by internally "blacklisting" the discrete GPU so that the Chromium code will not use it.
I've pointed out both of these potential options internally.
-
I've filled a bug-report for this and just now noticed the forum post: VB-58500
-
Half a year later. I recently observed problems with rendering some videos on vivaldi on Mac (Macbookpro 13" with touch bar - I wasn't even quite aware it has double GPU, as a matter of fact I don't know if it has and I'm too lazy to check how to check).
Back to the point: on some videos it stutters, shows green pixels, or even green stripes on lower half of video, the fan (or blower) is spinning like crazy and the video is... well, not watchable. It is actually quite new - I use this mac for some time now and it wasn't so bad before - so maybe it's because of some update (?), maybe after the bug report
(?)
Anyway, I will let it here just for info.
In the meantime I changed
"Use hardware acceleration when available" to OFF
in the settings tab/window (just look for "hardware" in settings) and it seems to work better. At least at the first try.