Я предполагаю, что он временно падает после отмены паузы? Или это всегда низкий fps после снятия паузы. Это происходит только на iOS 8 или iOS 9. Можете ли вы попробовать iOS 9? Я убежден, что это может происходить потому, что после отмены паузы Sprite-Kit требуется немного, чтобы «разогреть» цикл рендеринга. Вы можете попробовать профилировать в инструментах и посмотреть, что происходит.
Что касается решения, вы можете попробовать временно уменьшить speed
вашего SKPhysicsWorld
после отмены паузы, чтобы физика не прыгала, потому что Sprite Kit имеет переменный временной шаг, и, к сожалению, это нельзя изменить. Если скачут действия, можно попробовать понизить speed
своего SKScene
. В идеале вы, вероятно, должны сделать и то, и другое.
Кроме того, если вам нужно беспокоиться только о действиях, вы можете попробовать только приостановить свою сцену вместо SKView (но имейте в виду, что ваш метод обновления будет работать). Или попробуйте временно приостановить свою сцену, а затем снова приостановить ее после отмены приостановки SKView.
Помимо этого, на самом деле вы ничего не можете сделать, чтобы исправить это, кроме как попытаться подготовиться к пропущенным кадрам. Обязательно сообщите об этом в Apple, если вы еще этого не сделали.
Ниже приведена ссылка на класс для всех этих свойств.
SKView-пауза
Если значение YES, содержимое сцены фиксируется на экране. Никакие действия не выполняются и симуляция физики не выполняется.
SKScene - скорость
Значение по умолчанию — 1,0, что означает, что все действия выполняются с нормальной скоростью. Если вы установите другую скорость, время будет идти быстрее или медленнее для всех действий, выполняемых на узле и его потомках. Например, если вы установите значение скорости 2,0, действия будут выполняться в два раза быстрее.
SKScene — приостановлено
Если значение YES, узел (и все его потомки) пропускаются, когда сцена обрабатывает действия.
SKPhysicsWorld - скорость
Значение по умолчанию — 1,0, что означает, что симуляция выполняется с нормальной скоростью. Значение, отличное от значения по умолчанию, изменяет скорость, с которой проходит время в моделировании физики. Например, значение скорости 2,0 указывает, что время в моделировании физики проходит в два раза быстрее, чем время моделирования сцены. Значение 0,0 приостанавливает симуляцию физики.
person
Epic Byte
schedule
17.07.2015