我目前正在尝试提高帧速率,并想知道手动创建sps文件或以编程方式创建精灵是否更好?另外,以编程方式加载图像或创建SKSprite节点更快吗?
答案 0 :(得分:3)
如果您正在讨论创建单个精灵,那么它将没有任何区别 - 与在viewDidLoad
中分配一些代码相比,使用其包含的SKSpriteNodes解压缩和启动.sks文件所花费的时间将是微不足道的,即使它是,你只会在节目开始时看到一点点犹豫 - 可能在屏幕上出现任何事情之前。
关于加载图片的问题实际上是同一个问题 - 您要么在.sks文件中创建纹理化的SKSPriteNodes,要么使用let mySprite = SKSpriteNode(imageNamed: "myImage")
除非你有一个循环,每个update()
创建10或100或精灵,否则我会在其他地方寻找你的帧率问题:
update()
针对每个节点运行了多少代码?将以下内容添加到Gameviewcontroller:
skView.showsFPS = true
skView.showsNodeCount = true
skView.showsDrawCount = true // show how many draw passes are required
skView.ignoresSiblingOrder = true // Render sprites more efficiently
前3个将帮助诊断问题,第4个将提高性能。