I have an application written for OSX using Unity3d. This application records its frames so they need not be visible.

When the window is visible, it has a nice frame rate. When the window is hidden ( hidden, covered-up, minimized ) it frame rate is consistently worse and it takes more CPU.

I believe that this is because when the application is on the primary monitor it uses the primary graphics hardware, but when it is not visible, it is relegated to a software implementation of OpenGL.

Is there a way to tell OSX to use the primary graphics hardware rather than a software implementation for an application that is hidden?