2014-09-19 61 views
2

我昨天更新了我的iPhone 5到iOS 8,並開始玩我開發的應用商店約兩個月的遊戲。我的遊戲現在只是升級到iOS 8而已經嚴重滯後。我從來沒有遇到任何滯後問題,iOS 7中的設備與iPhone 4以60FPS運行時一樣老舊。這是嚴重的問題,因爲我不希望我的客戶遇到同樣的問題,如果他們已經更新到iOS 8。有關這是爲什麼發生的任何想法?更新到iOS 8讓我的SpriteKit遊戲超級慢

編輯:我只是做了一些測試,我的FPS仍然是60,但我的節點仍然移動滯後。在我的程序中,我的physicsWorld.speed設置爲0.05。當我把它設置得更高時,節點不再滯後。看起來像iOS 8 physicsWorld.speed不像iOS7中那樣工作。我需要那個速度,否則我的比賽無法正常工作。我仍在調查這是否是完整的問題!

+0

Apple提供的工具可以告訴你爲什麼應用程序很慢。運行它們,調查輸出並在此發佈結果,否則它只是猜測。 – 2014-09-19 03:12:23

+0

也適用於我。運行在iOS8上的相同代碼滯後。 – user1872384 2014-09-27 08:58:44

回答

0

physicsWorld.speed屬性在iOS8中的工作方式與iOS7中的不同。將physicsWorld.velcoity屬性更改爲不同的CGVector給了我相同的效果。

1

至於我調試去在這一點上,一個問題是

enumerateChildNodesWithName: @"XX" usingBlock:^(SKNode *node, BOOL *stop) { .. 

這一呼籲似乎是緩慢的iOS 8,也許有很好的理由,誰知道..

無論如何,我用一個簡單的循環代替了這個,如:

for(SKNode *node in [myCustomLayer children]) 
{ 
    if ([node.name isEqualToString: @"blabla"]) 
    { 
    .. 

並且FPS被備份。不知道這個問題解決了所有問題,但它在我的遊戲中有一個缺陷。