2013-02-01 39 views
0

我建立一個新的遊戲andengine出於某種原因,我一直在logcat中獲得這個調試聲明:編舞(697):跳過152幀!調試日誌

01-31 21:29:50.503: I/Choreographer(697): Skipped 152 frames! The application may be doing too much work on its main thread. 

林真的不知道什麼是我的比賽中正是導致此錯誤。我正在檢查很多碰撞,但是直到比賽開始後纔開始。

我還注意到,在我的銀河S3上,遊戲導致我的手機在刷屏主屏幕並拉下頂部的任務欄時「閃爍」。

我覺得這個錯誤與它有關,但我不確定。你們有什麼感想?

此外,每次用戶轉到另一個級別時,我都會重新初始化碰撞檢測器。但我不註銷或停止最後發生的碰撞。我想他們會在新的初始化時自動清理。

你們認爲什麼?

+0

您確定該消息是由AndEngine輸出的嗎? AndEngine通過標記「AndEngine」而不是「Choreographer」輸出其消息。 –

回答

4

這聽起來像你意識到信息告訴你什麼,即你的幀速率是滯後的。你的後續問題,「爲什麼?」沒有更多的信息將無法回答。你提供了一些可能性:是碰撞處理嗎?處理不必要的碰撞嗎?在場景轉換中有一些問題嗎?答案是,也許。也許是任何這些事情。也許這是別的。目前我們所能做的只是猜測,因爲我們沒有看代碼。

但好消息是,你不是沒有追索權!你需要做的是測試你的代碼並找出瓶頸所在。一個好的開始就是投入一些電話來計算你懷疑是問題的代碼塊之間的毫秒數。你可能會發現,你認爲我們很慢的事情實際上發生得很快,相反,你認爲速度很快的事情發生得很慢。關注後者!在那裏放更多的電話,看看哪些事情需要更長的時間。看看你的代碼,看看它爲什麼可能在那裏緩慢運行。那裏有很多對象被實例化嗎?它是從磁盤讀取的嗎?等等

當你爲他們做好準備的時候,有一些很棒的第三方工具可以深入到測試中去,但是值得花一些時間來開始計時和檢查你自己的代碼。作爲懷疑問題出在哪裏的作者,你有好處。開始調查!

注意,我會提供一些鏈接到第三方工具,但我從一個按摩浴缸寫這個。我稍後再更新。

+3

那按摩浴缸怎麼樣? – tricknology

+0

-1來自按摩浴缸的寫作:) – Marek

+0

+1,我會和你一起在9月份在洛杉磯與你一起喝啤酒 – Marek