Jump to content

Perfomance boost when disabling internal monitor


TheGuardian

Recommended Posts

So I'm running a Zotac GTX 960 via Akitio box on a 13" rMBP late 2013 model + latest version El Capitan for a few months now. The Zotac drives 2x 28" 4k monitors @ 60Hz, I use this setup for work to get more real estate, not to play games.

The performance was decent, switching spaces and using mission control is laggy. I never use the internal display, just close the laptop which would leave the screen on. In a frustrating search to improve spaces / mission control performance, I looked for options to disable the internal monitor as it is not used, but might take up CPU/ GPU (?) resources. I found this program https://github.com/Eun/DisableMonitor to disable the internal monitor and all the spaces / mission control issues are gone :-). The OS responds very snappy now. One glitch: there is a desktop background picture-in-picture on the primary screen with the size of about 1/4th of the screen, but in doesn't influence app behaviour.

I was wondering what causes this performance boost. The internal display was still powered by the internal GPU. I could not see significant changes in CPU loads causes by WindowServer or other processes, around 32-36% during repeated mission control usage. Also, 'About This Mac' still report the internal display as active / online.

Off-topic question: unplugging the Akitio Thunderbolt cable instantly causes a system crash, I have to shut down the laptop first. Same with plugging it in while on, sometimes is crashes the system, most of the times nothing happens until a reboot. Is there already a fix for this? I used goalque's automate-eGPU.sh script for installation.

Link to comment
Share on other sites

An internal screen stays always online, but the program you mentioned actually sets it to sleep and in this mode it’s not drawable. Another option is to set the external monitor as primary, uncheck “displays have separate spaces” under Mission Control and move all the windows to the external screen. The edge area is critical due to the framebuffer changes, and as the internal framebuffer is sleeping, you see this performance boost. You can test FPS performance by a tool from Apple (Quartz Debug) if you are a developer.

If you shake a window (Xcode, for example) at the edge area and quickly press Mission Control key, the WindowServer should give more than 40% CPU load. I think that this is a driver issue. Window server used to be on top of OpenGL, but on OS X El Capitan the core graphics is running Metal. There are already apps that take advantage of it. One of my favourite apps, Pixelmator.

Pixelmator Photos Extension

Thunderbolt technology allows unplugging the cable. The graphics driver has to be aware of it, otherwise it will cause a kernel panic. At the moment, there is no fix.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.