2015-08-08 4 views
10

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

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

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

+0

Я использую CoreImage с OpenGL, и он стал очень медленным при компиляции с iOS 9, но в моем случае он был быстро скомпилирован с ios8 и запущен на устройстве iOS 9. –

ответ

0

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

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

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

+0

К сожалению, это не было для меня решением. Чтобы опуститься на одну цифру fps из твердого 55? Что должно было измениться во внутренних деталях? – scriptocalypse

0

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

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

3

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

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

  1. Чистые ваши полученные данные для вашего проекта. Не только контент, но и папка, содержащая данные Derived;
  2. Перейти к: Параметры здания;
  3. Нажмите Все;
  4. Поиска Всех (уровни оптимизации должен подойти)
  5. Check Быстрого модуль оптимизация для отладки и выпуска.

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

0

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

Источник: SKLightNode performance issues

0

Я отправил одно возможное решение этой проблемы здесь: My Xcode 7.3 compiler is constantly breaking and causing extremely long Build and Compile times

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

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

Смежные вопросы