So I have a Metal App up and running at a nice solid 60 fps.....
Sometimes when I swipe up the control center and then slide it down the fps dips to 30-40fps. It hangs there for awhile and then goes back up to 60 fps. Sometimes it fails to go back to 60 fps and just sits at 40 fps.
I have tried several of the Metal Examples and the same behavior is observed.
I tracked it down and the delay is being caused by the nextDrawable command. I call this as late in the frame as possible and I am running metal from the same thread via a Display link just like the examples. However, even the examples suffer from stutter if the Control Center is brought up during execution.
Minimizing\switching the app and then bringing it back up to focus magically fixes the issue. This is also happening in the Metal examples.
Does anyone have any ideas what could be causing this? Many thanks for anyones help.