Когда я устанавливаю образ SKspritenode из локального каталога приложения, быстрая физика становится очень медленной - PullRequest
0 голосов
/ 20 декабря 2018

Я хотел использовать физический движок в своем приложении, поэтому я использовал spriteKit в своем коде.Обычно данные изображений спрайта существуют в иерархии исходного кода, но мне нужно прочитать их из локального каталога приложения.Например, рассмотрим настройку данных изображения «apple.png» для узла спрайта.Он работает быстро, когда данные существуют в иерархии исходного кода, но работает очень медленно, когда данные существуют в локальном каталоге приложения.Почему это случилось?Пожалуйста, дайте мне совет.Приветствуются любые советы.

Детали: В первом методе FPS всегда сохраняет 60 при падении яблока на другое яблоко.В более позднем методе, непосредственно перед тем, как яблоко попадает в другое яблоко, FPS перемещается с 60 до 4, а по коэффициенту использования ЦП категория «Физика» поднимается до очень высокого значения.Я изменил только место данных изображения, поэтому не знаю, почему возникает такая проблема.

//When I read data from source code hierarchy, I did like this
let sprite = SKSpriteNode(imageNamed: "apple.png")
sprite.physicsBody = SKPhysicsBody(texture: sprite.texture, size: sprite.size)
self.addChild(sprite)
// => move speedy

//When I read data from app's local directory, I did like this
let path = NSHomeDirectory() + "/Library/Application Support/pngPictures/apple.png"
let sprite = SKSpriteNode(imageNamed: path)
sprite.physicsBody = SKPhysicsBody(texture: sprite.texture, size: sprite.size)
self.addChild(sprite)
// => move very slowly
...