2015-08-08 48 views
10

我有一個基於sprite kit的遊戲在iOS8上運行良好,但是當測試iOS 9 beta 5上的應用程序時,它很生澀並且速度很慢。Xcode 7 iOS 9 Swift 2.0 Spritekit性能很慢

因此,我安裝了xcode 7並在swift 2.0中重新編譯了該應用程序,但它仍然非常慢且不平坦。

其他人有這個問題嗎?一個想法如何解決它?

+0

我使用的是OpenGL的CoreImage,編譯時使用iOS 9時速度很慢,但在我的情況下,它是使用ios8快速編譯並運行在iOS 9設備上的。 –

回答

0

我有同樣的問題。我使用GLKit的應用程序總是在iOS 8中以40fps以上的速度運行,並在iOS 9中降至10fps以下。

要解決此問題,我在xcode 7中啓動了一個新項目,並拖動了現有項目中的所有文件。絕望的時代呼籲絕望的措施,但現在它在iOS 9中完美運行。

對於大多數人來說可能不是一個可行的解決方案,但它爲我工作。

+0

不幸的是,這不是我的決議。從固體55放入單個數字fps?內部必須改變什麼? – scriptocalypse

0

我有同樣的問題。事實證明,這是因爲我在我的應用程序中使用了多個SKView。我在iOS 8中沒有出現明顯的問題,但是在iOS 9中它們變得更糟。幸運的是,Apple發佈了一篇很好的技術文章,概述了在不同視圖控制器中爲多個SKView執行的操作。當我實現了這個性能回到可達60FPS:

https://developer.apple.com/library/ios/qa/qa1889/_index.html

3

不知道如果你能解決你的問題,但我已經經歷了很多與Swift2.0和XCode7落後的 - SMH( 15年9月23日)

這裏是我做過什麼:

  1. 清潔您爲您的項目得出的數據。不僅僅是內容,而是包含派生數據的文件夾;
  2. 轉至構建設置;
  3. 點擊全部;
  4. 搜索(優化級別應該拿出)
  5. 檢查調試和發佈快速模塊優化

我看到巨大的性能提升。但是,我仍在測試。

0

聽起來像你可能會使用SKLightNode?如果是這樣,請嘗試從代碼中刪除所有光節點。我這樣做了,我的遊戲像iOS8一樣在60fps下運行。這只是SpritKit在iOS 9中遇到的問題之一,在蘋果論壇上很少有人反饋,它已成爲一個痛苦的話題。如果SKLightNode不是您遊戲中的問題,請嘗試通過論壇:https://forums.developer.apple.com/welcome

來源:SKLightNode performance issues