SpriteKit游戏中使用高CPU

时间:2016-09-05 21:37:10

标签: swift xcode sprite-kit instruments

我正在使用Swift和SpriteKit进行我的第一场比赛,并注意到我的游戏很快接近100%的CPU使用率。我最近已经发布了很多关于这方面的内容,但现在我现在正试图将它分开以确定我的问题所在。我原本以为我的问题是实例化新的敌人,所以除了用户控制的小型宇宙飞船及其拍摄功能外,我删除了所有东西。然而,经过几分钟的“游戏”后,我仍然达到100%。我正在使用时间分析仪器试图找出最新情况,但我遇到了麻烦。我打破了时间表:

以下是用户点击homeScene按钮输入GameScene时的第一个子图。enter image description here

我不完全确定3256x和861x的红色和黄色“Heaviest backtraces”是什么意思,但是从我看过的教程中我会想到它们异常高。这也是调用树:enter image description here

我也不完全确定为什么控制器纹理会被使用,因为它们只是在GameScene类之前在文件中设置两个纹理:

let controllerBaseTexture = SKTextureAtlas(named:"Sprites").textureNamed("controllerBase")
let controllerHandleTexture = SKTextureAtlas(named:"Sprites").textureNamed("controllerHandle")

class GameScene: SKScene, SKPhysicsContactDelegate {

然后这是游戏开始时和CPU达到100%时的呼叫树:enter image description here

我也对“UnsaveMutableAddressors”的含义感到困惑,因为我在尝试调试此代码时非常常见。

我知道这很多,但我不知道从哪里开始。任何建议都会很棒。我还想知道是否有很好的资源来解释这个问题,因为我已经经历了一小部分而且我仍然非常困难。

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

探查器会在您的gameScene更新方法中显示它。请记住,每秒运行大约60次,所以你不想在那里做任何非常沉重的事情。