Higher CPU load when AUv3 UI isn't showing in iOS

I’ve seen (and posted myself) rumblings about this a couple times with no clear answer. I get a noticeably higher (like three times) CPU load according to the AUM load meter when an AUv3’s UI is closed than when it is open. This is both release and debug builds, and has been happening pretty much since we started releasing iOS AUv3. It is not limited to JUCE, either. I’ve noticed that it happens on, for instance, the AudioKit synths, as well.

I’ve always assumed that since the Editor always exists in an AUv3 on iOS, rather than getting deleted when it is closed like on desktop, this was the result of background drawing. Today, I wrapped every single paint and timer in my editor in an isShowing() if, and it had no effect whatsoever. (Despite the fact that the UI is backgrounded, isShowing() correctly reports whether it is “open” to the user or not.)

Does anyone have any idea as to the cause of this, and what might mitigate it? Or is it just a quirk of AUM that their DSP meter (and yes, I’m aware that it is nearly impossible to actually meter a plugin’s load) shows a higher load when the UI isn’t showing?

I think, at this point, I’m ready to write this off as an AUM quirk. The Xcode load meter shows metrics as I’d expect.

The first spike is when I instance. Then idle, then I open the UI (and you can see things jump. The peaks in the big plateau are playing the synth. Then I close the UI and play it again. So this is all as I’d expect given an isShowing() wrap around all my animation. I guess one can write this off to AUM’s metering.