Fps error for engine.maxFPS

test model : Apple M4 Pro
engine : up to v7.44.1 ~ v7.53.3

The model basically gets 75 fps but when maxFPS=60 it gets 37-38fps.
However, AOS with variable frame rate (60 - 120 fps) works fine. Is this limited to iOS?

Can you repro in a playground ?

This happens in all versions listed, but here’s a quick check: PG

Additionally, we have observed that there is no issue when the maximum fps of the iOS device is 60, but when it is higher than that, only about half of that value occurs.

I get it on my windows machine too, but this is definitely because of vertical sync. My framerate gets stuck to a divider of the screen refresh rate (144fps, so I can only get values of 72, 48, etc - 1 frame per 2 refreshes, 1 frame per 3 refreshes etc).
Do you have a way to check if VSync is on ?

1 Like

I think vsync is enabled by default in browsers.

You can try to start Chrome with these flags to disable vsync: --disable-gpu-vsync --disable-frame-rate-limit

3 Likes

It’s definitely related to VSync.
However, the problem now is that I’m stuck trying to make it so that when a normal user, not my development environment, accesses it, it ignores VSync and makes 60 the maximum value, or catches if the frame is not 60 due to VSync and readjusts it. :sob:

Similar posts: