Xcode 7 iOS 9 Swift 2.0 Производительность Spritekit медленная

У меня была игра на основе спрайтов, отлично работающая на iOS8, однако при тестировании приложения на iOS 9 beta 5 и вяло и довольно медленно.

Итак, я установил xcode 7 и перекомпилировал приложение в swift 2.0, но он все еще очень медленный и отрывистый.

Есть ли у кого-нибудь еще эта проблема? идеи, как это исправить?

Ответ 1

Не уверен, что вы смогли решить свою проблему, но я испытывал много отставания от Swift2.0 и XCode7 - smh (9/23/15)

Вот что я сделал:

  • Очистите полученные данные для вашего проекта. Не только контент, но и папка, содержащая данные Derived;
  • Перейдите к настройкам сборки;
  • Нажмите "Все";
  • Поиск целых (уровни оптимизации должны появиться)
  • Проверка быстрой оптимизации модуля для отладки и выпуска.

Я вижу огромное увеличение производительности. Тем не менее, я все еще тестирую.

Ответ 2

У меня была та же проблема. Мое приложение, которое использует GLKit, всегда превышало 40 кадров в секунду в iOS 8 и упало до менее 10 кадров в секунду в iOS 9.

Чтобы исправить это, я начал новый проект в xcode 7 и перетащил все файлы по сравнению с существующим проектом. Отчаянные времена требовали отчаянных мер, но теперь он отлично работает в iOS 9.

Вероятно, это не жизнеспособное решение для большинства людей, но это сработало для меня.

Ответ 3

У меня была та же проблема. Оказывается, это потому, что я использовал несколько SKView в своем приложении. У меня не было заметных проблем в iOS 8, но потом они значительно ухудшились в iOS 9. К счастью, есть хорошая техническая статья Apple, в которой описывается, что нужно делать для нескольких SKView в разных контроллерах. Когда я реализовал это исполнение, он вернулся к 60FPS:

https://developer.apple.com/library/ios/qa/qa1889/_index.html

Ответ 4

Похоже, вы можете использовать SKLightNode? Если это так, попробуйте удалить весь свет node из вашего кода. Я сделал это, и моя игра вернулась со скоростью 60 кадров в секунду, как в iOS8. Это только одна из проблем, которые SpritKit имеет в iOS 9, и она становится больной темой на форумах Apple с небольшой обратной связью от Apple. Попробуйте пройти через форумы, если SKLightNode не проблема в вашей игре: https://forums.developer.apple.com/welcome.

Источник: Проблемы с производительностью SKLightNode

Ответ 5

Я разместил здесь одно возможное решение: Мой компилятор Xcode 7.3 постоянно ломается и вызывает чрезвычайно длительные сроки сборки и компиляции

Проблема для меня заключалась в том, что я использовал Emojis для имен переменных и имен файлов .swift.

Я бы рекомендовал, чтобы вы попытались открыть и сохранить проект в бесплатной версии AppCode, а именно, как я смог диагностировать проблему Emoji, проверив, как AppCode ведет себя с тем же проектом.