macOS client limited to 60 Hz (possible cause inside)

On the Discord's macOS channel there's been reports of that the macOS client seems to run at 60 FPS regardless of the refresh rate of the screen it's running on while other games tend to run at higher rates up to what the monitor supports.

I dug into the MoltenVK repo a bit to see if there was something that might be lost in translation between Vulkan and Metal and until recently the implementation of vkGetRefreshCycleDurationGOOGLE (from the VK_GOOGLE_display_timing extension) was hardcoded to assume 60 framesPerSecond on macOS.

There's a PR recently mergeed (16 days ago) which improved this to try to find the screen of the swapchain and return the actual refresh rate the screen is configured with.

https://github.com/KhronosGroup/MoltenVK/pull/1596

There's a related bug report where this PR may not quite solve the problem in some circumstances when views are nested weirdly, but that may not affect PoE.

https://github.com/KhronosGroup/MoltenVK/issues/1617

It'd be great if GGG looked into if this may be the root cause of the reports of the 60 FPS cap of the client on macOS and if so, keep an eye out for when a MoltenVK release including these changes can be integrated into the build.
Last bumped on Jun 12, 2022, 6:59:24 AM
This thread has been automatically archived. Replies are disabled.
The problem described in https://www.pathofexile.com/forum/view-thread/3195644 may be related to this as the user reports having 37/38 FPS on a 75Hz screen but 60 FPS if configuring it to 60Hz in the OS.

I'm guessing that if the timing logic gets a presentation rate of 60 and presentation is actually synced by the OS to divisions of 75, the user may very well then be stuck at 75/2 Hz.
According to client logs Path of Exile currently uses MoltenVK version 1.0.43 (bundled with Vulkan SDK 1.2.141.1).
The bugfix mentioned above is part of MoltenVK version 1.1.10 (bundled with Vulkan SDK 1.3.216), released on June 6th.

One notable thing in the release notes is that 1.1.0 redid a bit of the build system introducing support for Apple Silicon.

I bet there's lots of fun work in store to upgrade and validate this.

Report Forum Post

Report Account:

Report Type

Additional Info