swift - 预加载还是不预加载?

标签 swift performance sprite-kit skspritenode

我正在制作一款益智游戏,我多次使用几种类型的 Sprite 。所以我有一个关于游戏性能的问题。哪个更好,稍后在 setup() 方法中在 for/in 循环中创建 Sprite ,或者在类的初始化程序中预加载 Sprite ,然后只复制 Sprite 在 setup() 中?例如:

func setup() {
    for i in 0...10 {
       let sprite = SKSpriteNode(imageNamed: "FirstSpriteName")
       sprite.position = etc...
    }
}

或在我初始化类时预加载 Sprite :

let firstSprite = SKSpriteNode(imageNamed: "FirstSpriteName")

然后在 setup() 函数中:

func setup() {
    for i in 0...10 {
        let sprite = firstSprite.copy()
        sprite.position = etc...
    }
}

最佳答案

如果您多次使用同一张图片,最好像这样加载它:

let texture = SKTexture(imageNamed: "SpriteName")

然后在需要时使用它:

let sprite = SKSpriteNode(texture: texture)

这样它只加载一次纹理,但许多 Sprite 使用它。

关于swift - 预加载还是不预加载?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42373189/

相关文章:

ios - Swift - 创建自定义 View 的不同实例

c# - 为什么这个不能优化?

ios - Swift:如何让子弹在玩家武器上产生?

ios - 如何预加载纹理图集以获得更好的 FPS?在 swift

ios - 没有 '|' 候选产生预期的上下文结果类型 'CGGradientDrawingOptions'

swift - iOS : Sharing image in social network Swift

mysql - 如何重写SQL查询以在MariaDB和MySQL上实现相同的性能

php - PHP 中最快的 XML 解析器是什么?

ios - 从子类设置父类(super class)的属性?

ios - Realm 复制所有对象