Strange lag / performance issue on eGPU Chrome
I have eGPU RX580 on Mojave and have strange performance issue with Chrome - some sites (clickup.com) run laggy / noticeably less smooth on eGPU than on internal screen. There is some strange input lag on everything, cursor is blinking slower etc.
Seems like it's the same for Electron-based apps - they are waay more snappier on the internal screen than on the external, that is driven by eGPU
What can it be? really puzzling
I had the exact same issue. The problem is that Chrome is defaulting to using the integrated GPU instead of using the eGPU. For some reason, if the integrated GPU has a connected active display, Chrome will always prefer this instead of any eGPU.
You can observe this by going to chrome://gpu and seeing the available GPUs, and that Chrome has selected the integrated GPU.
The solution for this is stupidly simple, but annoying that there isn't a Chrome config to avoid this. The solution is to just shut the lid of the laptop when using an external display. This puts the laptop into "clamshell mode" which effectively "unplugs" the internal laptop display.
Once this is done, starting Chrome will result in it selecting the next GPU with an active display, which will be the eGPU. Check chrome://gpu to see if this is the case. Once Chrome has started, you can re-open the laptop lid, and Chrome will continue to use the eGPU even with the internal display being active.
Unfortunately if you are using a setup with a machine using purge-nvda, then clamshell mode is broken. This was the case for me and I was stuck using laggy Chrome.
I just recently tried using a fix for clamshell mode when using purge-nvda, discussed here:
I followed the instructions on that build to fix clamshell mode, which worked and as a result I now have Chrome using the eGPU and have a super smooth experience.
From your signature, it looks like you have a different model macbook pro to me, but also one that requires purge-nvda. It would probably still be worth having a go at fixing clamshell mode using the link above as there is a chance the same instructions will work.
Ah I don't think I actually use any desktop apps that were developed using the Electron framework.
I did notice significant UI lag with Android Studio and the Android emulator, which was also fixed by starting them while in clamshell mode. I would assume that given there is technically "only one active display" that this solution should also work for Electron apps. Its definitely worth a shot to try it.
@clarketus just wanted to say I followed the steps with the EFI and it was fairly straightforward to set up and now I do have all Electron apps and Chrome working as they should - fast and snappy!
Thanks a lot.
The only issue I ran into is that if I use that wake from sleep kext the fans in my MBP kick in at login, so I had to disable it alas
I'm not using purge-nvda, but what worked for me is DisableMonitor.
Otherwise, I was having the same issue. Some applications - most notably Chrome, but also Photoshop, were blacking out my internal display and causing everything to run super slowly, including simply moving windows. Closing Chrome brought everything back. I can live without Chrome, but I need Photoshop.
Thanks for pointing me in the right direction!