開發一個Mac上用埃爾卡皮坦和Xcode的7.2:的Mac OS X埃爾卡皮坦和一個以上的雪碧套件SKView
如果我有一個窗口的一個項目,具有用於SpriteKit
一個SKScene
,那麼我會得到所需的60 fps,一切按預期工作。但是,一旦我定義了第二個窗口,其中第一個窗口只有30 fps,即使第二個窗口根本沒有使用,第二個窗口甚至不會被定義爲Referencing Outlet
。第二個窗口只存在於MainMenu.xib
中,根本不使用。
我需要四個Sprite Kit Windows
一個場景在我的項目,所以我得到一個非常糟糕的更新性能。程序工作與優勝美地罰款,但只要我在埃爾卡皮坦運行它們,這個問題就會發生。
我會很幸運的有任何建議。舊版Xcode和最新版本(7.2)的問題是一樣的。我編譯了幾個月前的最新程序,新程序,都有同樣的問題,所以我認爲它與Xcode無關,但與El Capitan Mac OS無關。
當設置SKView
到「核心動畫層」,在Xcode「MainMenu.xib
」對話框頁「查看效果督察」並檢查所有的SKViews
設置成「核心動畫層」,然後小動畫一切都很好。只要60 fps無法恢復,因爲場景中有太多物體,View只會每秒更新一次,這看起來很可怕。使用優勝美地,場景每秒更新30次,這對我的目的來說已經足夠了。
因爲這不取決於Xcode版本,所以似乎蘋果已經改變了一些東西來「優化」屏幕重繪,如果不可能達到60 fps,那麼繪圖不是以30 fps或任何其他是可能的,但只有1 fps。我也在「屬性檢查器」頁面上嘗試過「可以同時繪製」,但這完全沒有區別。我使用帶D700圖形的新型8核Mac Pro。所以這不應該是原因。
我還試圖限制屏幕更新myView.frameInterval = 30
從我預計每秒只有兩個更新。但是這個命令似乎完全沒有。無論是真是假,myView.allowsTransparency = ...
都會產生一個異常。 myView.asynchronous = true
使得更新如同優勝美地一樣平滑。但是需要30秒左右的時間才能下拉菜單(當然,節點數量很大),並且無法使用該程序。這是 - 在結果中 - 與Xcode中的「Can Draw Concurrently」選項不同。
是否有可能更改爲優勝美地渲染,因爲所有描述的選項似乎都不是最優的。
任何想法如何處理大節點數或限制更新率,以便程序可以通過菜單舒適地退出?