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

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

Поэтому я установил xcode 7 и перекомпилировал приложение в Swift 2.0, но оно по-прежнему очень медленное и дерганое.

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


person MandelDuck    schedule 08.08.2015    source источник
comment
Я использую CoreImage с OpenGL, и он стал очень медленным при компиляции с iOS 9, но в моем случае он был быстро скомпилирован с ios8 и работал на устройстве iOS 9.   -  person Paulo Cesar    schedule 24.08.2015


Ответы (5)


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

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

  1. Очистите производные данные для вашего проекта. Не только содержимое, но и папку, содержащую производные данные;
  2. Перейдите в раздел Настройки сборки;
  3. Нажмите Все ;
  4. Найдите Whole (должны появиться уровни оптимизации)
  5. Проверьте Fast Module Optimization для отладки и выпуска.

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

person Ronaldoh1    schedule 23.09.2015

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

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

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

person ForkeSeal    schedule 18.09.2015
comment
К сожалению, это не было решением для меня. Упасть до однозначных цифр fps с твердых 55? Что должно быть изменено во внутренностях? - person scriptocalypse; 18.09.2015

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

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

person Chris Garrett    schedule 18.09.2015

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

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

person quinton.ashley    schedule 18.10.2015

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

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

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

person Matt Andrzejczuk    schedule 26.07.2016