Вот моя проблема: Несмотря на это:
1) Предварительная загрузка всех моих текстурных атласов
2) Хранение моих атласов в синглтонах, чтобы ARC не утилизировал их.
3) Хранение всех моих массивов анимации в Singleton
SpriteKit ВСЕ ЕЩЕ имеет короткое «дрожание задержки» при добавлении врагов в мою сцену ТОЛЬКО при первом их добавлении. После того, как текстура отрисовывается один раз, она никогда больше не задерживается при добавлении этой текстуры в сцену. Объем памяти увеличивается, когда текстуры наконец отрисовываются на экране, что выглядит так, как будто они не были предварительно загружены.
В настоящее время я предварительно загружаю ВСЕ свои атласы текстур в свой AppDelegate при запуске, используя...
SKTextureAtlas.preloadTextureAtlases(primaryAtlas, withCompletionHandler: { () -> Void in
})
primaryAtlas — это массив всех 4 моих атласов, которые хранятся в синглтоне.
Позвольте мне указать на некоторые вещи, которые я уже пробовал, и каковы мои текущие настройки.
1) Массив кадров для моих анимаций хранится в синглтонах и получает свои изображения из атласов, которые находятся в другом синглтоне. Раньше они были в одном Синглтоне.
2) Я пробовал хранить ВСЕ мои текстуры в синглтоне, который был загружен из атласов. Но в настоящее время мои анимации хранятся, а мои отдельные текстуры — это функции, которые извлекают эту текстуру из атласов.
3) Я отключил все анимации для врагов (не запускать SKAction), и дрожание все еще происходит, когда они добавлены, а не анимируются.
Я пытался исправить это в течение очень долгого времени, и, честно говоря, похоже, что решения нет.
Кажется, здесь есть похожий вопрос StackOverflow, на который я не нашел ответа: медленный (предварительно загружен)
Вот изображение некоторого анализа, который я сделал с помощью инструментов.