Getting to 60fps on iOS

Hi all,

I’m building a pretty simple app with a couple of GameObjects and a few simple scripts. When I built to iOS, I expected the frame-rate to be 60fps solid as I’ve only spent a couple hours on the project and only have a couple of objects and scripts. But I got 30fps. I saw the trick about setting the Application’s targetFrameRate, so I did that. Still 30.

So I did a test. I made a blank scene with just a camera and my FPS counter UI, and the targetFrameRate script. Still 30, with no GameObjects besides the camera and UI (with one text element) and no script besides setting the targetFrameRate.

So what’s going on? How can I achieve 60? I’m using Unity 5.3.5, btw. Thanks for your time.

From your description, it sounds like you’re using the default procedural skybox on your camera, which is a per-pixel shader. If you’re running a mid-range iPhone, just filling every pixel on the screen with that shader could be enough to exceed 16.6ms frametime, forcing you down to 30FPS.

Try setting the camera clear flag to a solid colour instead - does that work? If not, are you sure your target frame rate script is being executed?