I use mini 2 for development too. I was going to mention the kFPS value in the AppController.mm but thanks to you I have learned that it is not used anymore.
Have you looked at this. There is a tip about vsync parameter.
We couldn’t reproduce your issue. Could you please double-check if this code line is actually executed in your project and there is no other code place where it would override it.
I can later today but here is my script. My ipad mini 2 hits a limit of 30fps on blank scene with a camera and this script only.
using UnityEngine;
using System.Collections;
public class FPS : MonoBehaviour
{
// Attach this to a GUIText to make a frames/second indicator.
//
// It calculates frames/second over each updateInterval,
// so the display does not keep changing wildly.
//
// It is also fairly accurate at very low FPS counts (<10).
// We do this not by simply counting frames per interval, but
// by accumulating FPS for each frame. This way we end up with
// correct overall FPS even if the interval renders something like
// 5.5 frames.
public float updateInterval = 0.5F;
private float accum = 0; // FPS accumulated over the interval
private int frames = 0; // Frames drawn over the interval
private float timeleft; // Left time for current interval
void Awake()
{
Application.targetFrameRate = 60;
}
void Start()
{
if( !guiText )
{
Debug.Log("UtilityFramesPerSecond needs a GUIText component!");
enabled = false;
return;
}
timeleft = updateInterval;
}
void Update()
{
timeleft -= Time.deltaTime;
accum += Time.timeScale/Time.deltaTime;
++frames;
// Interval ended - update GUI text and start new interval
if( timeleft <= 0.0 )
{
// display two fractional digits (f2 format)
float fps = accum/frames;
string format = System.String.Format("{0:F2} FPS",fps);
guiText.text = format;
if(fps < 30)
guiText.material.color = Color.yellow;
else
if(fps < 10)
guiText.material.color = Color.red;
else
guiText.material.color = Color.green;
// DebugConsole.Log(format,level);
timeleft = updateInterval;
accum = 0.0F;
frames = 0;
}
}
}
Script looks bit complicated
In Xcode 5.0 or later you can switch to Debug Navigator View and watch actual fps, CPU and GPU usage. Do you see 30 fps here too?
It does not look like it would be bound neither by CPU nor GPU. Most likely configuration or Xcode project problem. Please submit it as bug report for investigation. Thanks!