2016-09-05 13 views
1

私はSwiftとSpriteKitで初めてゲームを作っています。私のゲームが100%CPU使用率にすぐに近づいていることに気付きました。私は最近このことについてたくさん投稿してきましたが、ここで私は現在、私の問題がどこにあるのかを判断するためにそれを切り離そうとしています。もともと私の問題は新しい敵のインスタンス化であると思っていたので、ユーザーコントロールの小さな宇宙船とその射撃機能以外はすべて取り除いた。しかし、私はまだ "プレイ"の数分後に100%を打っています。私はタイムプロファイラを使って何が起きているのか把握しようとしていますが、問題があります。SpriteKitゲームでのCPU使用率が高い

GameSceneを入力するためにhomeSceneボタンをクリックしたときの最初の部分グラフです。 enter image description here

3256xと861xの赤と黄色の「重いバックトレース」はそれぞれ意味するものではありませんが、私が見たチュートリアルでは異常に高いと思います。ここでも呼び出しツリーです:enter image description here

私はまた、彼らは単に右GameSceneクラスの前にファイル内の2つのテクスチャを設定しているとして、コントローラのテクスチャはあまりを使用することになり、なぜ全くわからない:

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」は、あるかについて困惑しています。

私はこれがたくさんあることは知っていますが、どこから始めたらよいか分かりません。どんな提案もすばらしいでしょう。私はまた、私が一握りを通過し、私はまだ非常に固執しているので、これをより良く解釈するための良いリソースがあるかどうかを知りたいと思います。

ありがとうございました!

+0

実際にstartGameが呼び出された回数はカウントされていますか?理論的には、それは一度正しいと呼ばれるべきですか? –

+0

各update()コールからGameScene.initを呼び出しています。あなたのゲームの基本的なロジックを修正します。これは、アップデートでは正しいことではないことは明らかです。 – MoDJ

+0

@MobileBen @ MoDJロード中に最初のセクションについて厳密に話していますか?そこに遅れがあるとそれは意味をなさないでしょうが、実際の問題は、AlienAnnhilator固有のリファレンスを持たないゲームプレイ中のCPU使用(中間セクション)ですか? – Sam

答えて

1

プロファイラーは、あなたのgameSceneの更新メソッドに何かを示しています。これは、毎秒60回実行されるので、非常に重いものは何もしたくないということを覚えておいてください。