Am using the following in a Start method
Application.targetFrameRate = 24;
And in my Project Settings > Quality I’ve set VSync Count to don’t Sync.
But my application always runs at 60 fps!
Targeting iOS at the moment.
Am using the following in a Start method
Application.targetFrameRate = 24;
And in my Project Settings > Quality I’ve set VSync Count to don’t Sync.
But my application always runs at 60 fps!
Targeting iOS at the moment.
Mobile builds have their own targetFrameRate you can’t change. It is coming from battery related issues. Mobile OSes developers do not want you to be able to burn device battery with extreme frame rates.
I don’t believe that’s true. Firstly, mobile OS devs would simply restrict the values that can be set there (setting it to 30fps would IMPROVE battery life). Secondly, According to the documentation it should work.
Going from memory, I think on iOS it only allows direct divisors of 60 here. Try 30 fps? (And yeah, if you’re trying to match a video frame rate, that obviously doesn’t help you - we had this issue when we wanted to match the game framerate with a video, and we couldn’t do it this way)
Thanks. Not totally clear but it seems SceneKit will only allow 60,30,20, 15 fps.
Was able to force 30fps. Not 24
Those numbers are coming from display refresh rate. 30 and 60 are standard values for cg industry the same as 24 is standard for TV Why do you want exactly 24 fps? You may set 30 fps limit and keep cpu busy for few more cycles to accurately measuring timings so fps will be almost exatcly 24 if you really need this, otherwise I suggest you stick with 30/60.
You can’t disable VSync on iOS which is why you’re restricted to 60, 30, 20, 15 FPS. It’s choosing the closest frame rate that it is capable of syncing. If the frame rate goes below 60 it will start syncing at 30, if below 30 it will choose 20, etc.