[ad_1]
I’ve realized that the problem solely happens if the storyboard is opened whereas there may be an exterior monitor linked, and I’ve additionally realized that exterior displays are dealt with by the discrete GPU on this machine.
From this, mixed with OpenCore Legacy Patcher’s be aware about how Storyboard rendering can grow to be corrupt on Kepler graphics, and mixed with that the problem will not be current on Macbooks that solely have Intel built-in graphics, I conclude that that is solely a difficulty when Xcode makes use of the discrete GPU for rendering work. Sadly, the discrete GPU’s involvment is required since I wish to use an exterior monitor.
The subsequent discovery was that Storyboards not solely labored tremendous so long as I opened them whereas no exterior monitor was linked, but in addition continued working after I plugged it again in. Clearly the render surfaces acquired and retained some form of affinity for one of many two GPUs at creation time.
I considered it some extra, as a result of I do not wish to continuously unplug displays, and requested myself if there is not one other system state that will even pressure apps to make use of the built-in GPU as a substitute of the discrete one. What about energy saving?
After unplugging the facility cable and launching Xcode/opening storyboards on an exterior monitor, on battery energy, I certainly get the identical end result as when no monitor is plugged in. That is a lot better than unplugging and plugging two displays again in each time.
In conclusion: if you happen to can settle for working round this drawback on a person foundation, you’ll be able to pressure Xcode’s storyboards to desire the iGPU throughout their lifetimes just by unplugging the charger earlier than opening them. I think about you’d must allow the system’s energy saving setting to dynamically swap GPUs for this to work.
Should you may someway programmatically pressure the system into its energy saving state, or to all the time choose the built-in GPU another method, then I suppose that you may theoretically automate this.
[ad_2]