Вы можете изменить фиксированный временной шаг, по умолчанию XNA:
// 166666 ticks is 16.6ms, which is 60hz
game.TargetElapsedTime = new TimeSpan(166666) // 'game' refers to your instance of XNA.Game
Вот документация по этой функции:
http://msdn.microsoft.com/en-us/library/microsoft.xna.framework.game.targetelapsedtime.aspx
Или, если вы просто хотите отключить фиксированный временной шаг, попробуйте установить фиксированный временной шаг на false:
game.IsFixedTimeStep = false // 'game' refers to your instance of XNA.Game
Вот документация по этой функции:
http://msdn.microsoft.com/en-us/library/microsoft.xna.framework.game.isfixedtimestep.aspx
В XNA по умолчанию установлено значение true, поэтому вы увидите фиксированный временной шаг, пока не установите его в противном случае.
Конечно, есть вероятность того, что проблемы с производительностью будут держать вас около 30 кадров в секунду. Возможно, вы видите V-синхронизацию, удерживающую кадр для синхронизации с дисплеем телефона, либо дисплей может быть ограничен 30 кадрами в секунду (маловероятно), либо, если ваша игра занимает больше 16,6 мс на кадр, V-синхронизация может удерживайте его до 30 кадров в секунду, чтобы синхронизировать его с дисплеем. При скорости 30 к / с ваша игра будет рендерить каждый второй кадр, который обновляет дисплей. Но если бы V-sync был отключен и ваша игра работала со скоростью около 50 кадров в секунду, ваша игра рендерилась бы только частично к тому времени, когда обновился дисплей, и вы бы получили разрыв экрана .