2020 Mac editor: weird frame rate issues during play mode

Been having this soul destroying issue for years now across multiple MacOS versions and different Mac h/w.

The only way I can enter play mode with consistent 60 fps (vsync enabled) in Game view mode is when Game view is an active tab in the main Unity Editor window tab bar. Scene view must be an inactive tab or hidden altogether. With this setup Game view will always render at rock solid max fps matching whatever the current display’s refresh rate is.

If I enter play mode with Game view docked side-by-side with Scene view or as a separate floating Unity window the Game view frame rate becomes super jittery and is permanently bouncing in ~40-55 fps range.

Now the fun bit is that if during this bad jittery FPS play I grab Game view tab and dock it back into main window tab bar so that Scene view tab becomes inactive (Scene view not visible) the FPS in Game view will instantly bounce back to steady 60fps. Further more, at this point I can drag out Game view tab to undock it from the main tab bar and FPS will remain steady 60 fps no matter what I do next, regardless of Scene view being visible or not.

As I mentioned this has been my experience for years now on various h/w setups from MacBook Pros with Radeon 560X 4GB to Mac Pros with Radeon Pro Vega II 32 GB GPU. Don’t think it is h/w performance as it is happening even with empty scene. Further more the workaround described above can bring FPS back to steady max FPS just by docking then undocking Game view from the main window tab bar during the same play session. Clearly looks like a s/w problem to me.

Anyone else with this issue and any known workarounds?

I’m starting to think about putting together some sort of Editor script to simulate the Game view tab docking / undocking sequence when entering play mode to automate the workaround. Not yet sure the relevant Editor APIs are exposed to us to achieve it though.

I know the issue, but no workaround. But thanks for sharing your workaround, didn’t know that. Could you share your “EditorBounceGameViewOnPlayModeStart.cs” script? :slight_smile: