vercel / hyper

A terminal built on web technologies
https://hyper.is
MIT License
43.27k stars 3.52k forks source link

Why does Hyper force dGPU (2018 MBP) #3699

Open mtslzr opened 5 years ago

mtslzr commented 5 years ago

Issue

Was wondering why Hyper.app requires the dGPU on my 15" MBP? And is there a way to disable it? Scoured a few older issues, but most seemed to talk about external GPUs, and I didn't see an obvious solution.

jonaswindey commented 5 years ago

Same here. Impossible to switch to integrated graphics mode which means battery is being drained. "Hyper Helper" is using the GPU. Please allow a toggle in the config file.

vogelbot commented 5 years ago

Same issue. Also macOS 10.14.5 (2018 15" MBP). Neither Terminal.app nor iTerm.app need the dGPU. It would be great if Hyper would follow suit. I've got Atom/Eclipse/TablePlus/GitHub Desktop/Safari/Parallels all open at once... but only Hyper.app is triggering discrete graphics.

atomiks commented 5 years ago

When the dGPU turns on, it causes the "cursor flicker" bug in macOS that's existed for years when it changes states (e.g. hovering over a link) which is really annoying 😬

I prefer using integrated graphics at all times

manyoo commented 5 years ago

I just find out the solution. Disable the new WebGLRenderer in config with: webGLRenderer: false It will switch back to the Hyper 2's canvas based renderer and the system will switch back to integrated GPU. :)

nmsmith22389 commented 5 years ago

I just find out the solution. Disable the new WebGLRenderer in config with: webGLRenderer: false It will switch back to the Hyper 2's canvas based renderer and the system will switch back to integrated GPU. :)

Thank you!

That was driving me crazy! I was just about to give up looking for a solution when I found this!

saamalik commented 5 years ago

How do you guys know the discrete graphic card is activated? I use the gfxCardStatus app - but curious what apps/tools you guys use?

mtslzr commented 5 years ago

@saamalik Open Activity Monitor and go to Energy. There’s a column for which GPU each program is using, and at the bottom lets you k ow if your machine is using iGPU or dGPU currently.

RoyHP commented 4 years ago

This is a problem for sure - as I understand, there's some sort of flag within electron to specify which GPU to use. I don't think there's an issue with using the new renderer on the integrated graphics, it just needs to be configured correctly. This is the only electron-based application I've seen that has this problem.

fsegouin commented 4 years ago

Any real reason for the new WebGLRenderer to use the dGPU? I can't see any difference at all when disabling it.

saamalik commented 4 years ago

@fsegouin a few months ago, on my 2017 MacBook Pro - I noticed a significant performance difference when operating Hyper in fullscreen mode.

However, (un?)fortunately I got the new 2019 MacBook Pro and not able to reproduce the issue now. Not sure if it's because the laptop is just screaming fast or if hyper/xtermjs changes improved non-webgl performance.

benvp commented 4 years ago

Having the same issue. I tried setting webGLRenderer: false but it doesn't seem to solve the issue. I always have the dependency on Hyper Helper which prevents from using the internal graphics card and which is killing battery life when on the road. Using Hyper 3.0.2 and also tested it with the latest 3.0.2-canary.4

EDIT: Seems I did something wrong. Disabling the webGLRenderer indeed removes the dependency to the GPU and runs on the internal gpu.

NozzyEz commented 4 years ago

yes, disabling webGLRenderer worked fine, just had to restart the app

divyanshu013 commented 4 years ago

Doesn't work on latest canary

image
saamalik commented 4 years ago

Interesting, on my system the canary build is not using the discrete graphics card - even if I remove the webGLRenderer option

On Sat, Apr 25, 2020 at 8:46 AM Divyanshu Maithani notifications@github.com wrote:

Doesn't work on latest canary [image: image] https://user-images.githubusercontent.com/6682655/80284112-08942180-873a-11ea-88f8-054604384bf8.png

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/zeit/hyper/issues/3699#issuecomment-619398885, or unsubscribe https://github.com/notifications/unsubscribe-auth/AALDMLITV2GT33WRMOTPIVLROMAWVANCNFSM4HRIEDBA .

mkstix6 commented 4 years ago

Similar issue for me:

Hyper Helper shows "Graphics Card: yes"

Screenshot_2020-04-28_at_13_32_10

Hyper 3.0.2 (stable)

MacBook Pro (Retina, 15-inch, Late 2013) macOS Catalina 10.15.4


Can confirm suggestion above to add webGLRenderer: false to config worked, thank you 🙏 .

bogdancss commented 4 years ago

any feedback from zeit on this?

lyndsysimon commented 4 years ago

This is important to me as well - it makes a huge difference in terms of battery life.

lyndsysimon commented 3 years ago

Six months later, I'm at a new company and was once again scratching my head trying to figure out why my battery was dying so quickly on my new 16" MBP. It was this issue again, because I hadn't added webGLRenderer: false to my dotfiles repository.

I strongly recommend Hyper change the default behavior to turn this off by default. If that's not acceptable, turning it off by default for macOS would be much better than the current state.

saamalik commented 3 years ago

@lyndsysimon - I've temporarily switched to https://github.com/alacritty/alacritty which doesn't use the discrete Graphics card (as far as I can tell), and it's lighting fast.