我有一個MainMenuScene和GameScene ...cocos2d的FPS下降時ReplacingScene但場景不會保留,它與ARC
在MainMenu的我有按鈕啓動轉到GameScene中的中間遊戲我想重新啓動或者退出遊戲,這是我做的兩個遊戲中的一個,當我將GameScene替換爲另一個GameScene,或者只是返回到主菜單,然後再次返回到新的GameScene時,FPS開始丟棄和丟棄,如果我這樣做的週期1次FPS從60下降到30,如果我再次做到這一點FPS下降到15,依此類推......
我相信問題是內存泄漏因爲我離開了現場......但它沒有我已經檢查和檢查過,並且沒有任何地方強烈地提及該場景,並且還啓用了ARC,我使用了儀器配置文件進行了檢查,根據Xcode儀器沒有任何內存泄漏。
有沒有人有這個問題......或任何人有任何想法我可能會做錯什麼?根據我在CCDirector的ReplaceScene方法中讀到的那個場景被破壞並被新的替換,所以應該沒有問題。
== 忘了提: 我有GameLayer和GameScene在辛格爾頓的弱引用,但是當我更換了現場,立即在那之後我設置的2爲零,即使我不應該因爲他們是弱引用,但我爲了以防萬一。更多的情況下
添加圖片:
看上面的圖片可以看到,每一個ReplaceScene從CCDirector被調用時,場景,特別是GameScenes,越來越釋放。所以內存泄漏不是問題,但它看起來像場景沒有被破壞,或者我的想法是這樣,因爲FPS每次都會一直下降和下降。
......很少replacescenes後...
這裏奇怪的是,MainMenu的是不拜因g受影響的AT ALL,渲染時間是相同的......繪製調用是相同的(這是可以理解的,即使在GameScene中drawCalls保持不變),但在GameScene中FPS不斷下降,渲染時間爲變得巨大,這就是爲什麼遊戲變得非常慢。
將繼續檢查。
現場的dealloc方法運行嗎?如果沒有,它正在泄漏。最常見的原因是保留週期,即一個節點對父節點或兄弟節點持有強引用。 – LearnCocos2D
事情是,它與ARC,所以dealloc它沒有被稱爲...和我不能實現方法時,它與ARC。 我檢查了Xcode Profile Instruments,並且沒有註冊內存泄漏。 –
@ LearnCocos2D我的不好...我剛纔檢查它是釋放對象。 我有一張圖片,我想上傳,告訴你這個斷點......但如果它釋放,那麼發生了什麼?爲什麼我的FPS下降?您是否正在設備上測試 –