私は cocos2d 連続実行 ios ゲームを構築しています。このゲームでは、キャラクターがアニメーション化されてシーンを実行します。背景、キャラクタの足元の地面、走っているキャラクタの後ろのフェンスが反対方向に動き、前方への動きをシミュレートします。キャラクター自体はその場で走るようにアニメーション化されています。時折、追加のスプライトがシーン内を移動します。
すべての動き (キャラクターのインプレース アニメーションを除く) は更新メソッドで発生します。
追加のスプライトがシーンを通り過ぎると、すべての可動部分が途切れることに気付きました。追加のスプライトがなくなると、スタッターはなくなります。
また、スタッターは ipad 3 (ios 6.0.1) ではほとんど感じられませんが、iphone 3gs (ios 6.0.1) と ipad 1 (ios 5.1.1) では最も目立ち、 iphone 4 (ios 6.0.1)。
これにどこから対処すればよいかわかりません - 追加のスプライトの実際のレンダリングを削除しようとしました。また、キャラクターの背後にあるフェンスも削除しようとしましたが、どちらの変更もスタッターには影響しませんでした。
助言がありますか?
更新:@Fogmeisterが以下に提案したように、時間プロファイラーを実行して修正しました。更新のたびにディスク i/o を実行して、状態変数を検索していたことがわかりました。私はそれを最適化し、スタッターはすべてのデバイスでなくなりました. ありがとう!