SpriteKit SKTexture.preloadTextures использует большое количество памяти Swift
У меня есть SKTextureAtlas с около 90 PNG изображениями. Каждое изображение имеет разрешение 2000 x 70 пикселей и размер ~ 1 КБ.
Теперь я помещаю эти изображения из Атласа в массив вроде этого:
var dropBarAtlas = SKTextureAtlas(named: "DropBar")
for i in 0..<dropBarAtlas.textureNames.count{
var textuteName = NSString(format: "DropBar%i", i)
var texture = dropBarAtlas.textureNamed(textuteName)
dropFrames.addObject(texture)
}
Затем я предварительно загружаю массив с текстурами в didMoveToView:
SKTexture.preloadTextures(dropFrames, withCompletionHandler: { () -> Void in})
Чтобы воспроизвести анимацию с30 кадров в секунду Я использую SKAction.animateWithTextures
var animateDropBar = SKAction.animateWithTextures(dropFrames, timePerFrame: 0.033)
dropBar.runAction(animateDropBar)
Моя проблема в том, что при предварительной загрузке текстур использование памяти увеличивается примерно до 300 МБ. Есть ли более эффективное решение?
А какая частота кадров и размер изображения рекомендуются для SKAction.animateWithTextures?