Who decides what the framerate is?

I'm having an issue where I'm getting a 40fps locked framerate even though my CPU and GPU work is well within 60fps limits. The app will start out at 60fps, but sometimes something as simple as a device rotation will cause it to drop down to 40fps permanently.


The GPU Report stats are:


Frames Per Second (40)


Utilization

- Tiler 11%

- Renderer 10%

- Device 12%


Frame Time

- CPU 0.6ms

- GPU 3.0ms


Does the framerate get decided behind the scenes? Why does it drop down by itself?

This issue still exists in iOS 9.0.2.

I'm also seeing this issue. My game will be running smoothly at 60 fps then drop and lock to 40fps for about a minute or so. It seems to happen whenever I get a text message or after I close my game's modal menu window.


Possibly this is resulting from the Metal view not successfully coming back from some sort of a CPU saving state entered while other views are being displayed over it?


Haven't found a fix yet.

Can You please let me know if you figured out what was the issu, and if yes, please tell me how you fixed it?

Thank You!

Who decides what the framerate is?
 
 
Q