Hello!
I’ve recently noticed a bit of a strange problem on MacOS which is that my window performance drops off pretty dramatically when I enter fullscreen mode.
I’m using GLFW with Vulkan, and everything should be up to date, I just downloaded the latest versions of GLFW and the Vulkan SDK today while troubleshooting, and I’m running MacOS 14.5. My hardware is also an M1 Max 16 inch MacBook Pro model, and I’m not connected to any external displays.
I’m working on a tech demo game engine that’s rendering part of a 3D scene, and I also have a basic FPS counter implemented to track performance. The first thing I notice is that the FPS is usually throttled by Vsync and runs at a consistent 120 FPS in windowed mode. As soon as I go to fullscreen mode, though, it drops down to about 80-90 FPS and gets stuck there.
At first I thought this might be related to fullscreen using more resolution, but if I turn off Vsync by using the MacOS Quartz debug tools, the FPS performance hovers between 140-180 FPS, regardless of if it’s in windowed or fullscreen mode. So from a hardware perspective, the system should be able to output more than enough frames to keep pace with the 120 Hz refresh rate.
I’m wondering if it could be related to MacOS’s Vsync and how it interacts with the variable refresh rate in the ProMotion retina screen, so I tried setting the MacBook screen to a fixed 60 Hz resolution, and doing that I got a smooth 60 Hz in windows and fullscreen mode.
I’m not sure if this is a problem with GLFW or with MoltenVK, or something related to MacOS itself, but I thought this would be a good place to start since going fullscreen is what triggered the issue.
Thanks for your time!
John