2014-03-01 58 views
2

我正在做一個遊戲,它涉及沙塵暴。我決定基本的概念是,我會製作一張看起來大致像沙塵暴的圖像,然後用一些粒子/其他任何東西來裝飾它。一個圖像與阿爾法落後spritekit

我在第一步遇到了問題。我爲了測試目的扔了一個簡單的圖像: Poorly Made Sandstorm

我補充說,我的遊戲,和FPS下降了60%。我對一張圖片的效果感到驚訝,但我並不太擔心。我將圖像的分辨率降低了一半,並且還有很多滯後。

Spritekit/iOS在處理中等大小的圖片時真的很糟糕嗎?我讀到另一個模擬器渲染不好的問題,但這不能成爲整個問題。

有沒有希望得到這個渲染而不削減我的表現?粒子效果很好,其他運行速度都在60fps以上,但是這個圖像的添加顯然是資源消耗嚴重。

編輯:我測試了我的遊戲在我的手機上,我沒有滯後。顯然,模擬器在渲染方面真的很糟糕。同時,我對如何加速表現感到好奇,因爲顯然存在一些滯後現象。

回答

1

我並不是SpriteKit的專家,但我對純色的核心動畫和分層有相似的經驗。

問題是,即使是對於「不透明」部分的圖像,它也會在每次移動時在其下面的所有子圖層上引入重繪呼叫。首先檢查是否這實際上是一個問題,然後嘗試這個,看看能否改善:

  1. SKCropNode可以防止用於渲染之下元素
  2. 平鋪圖像所以只有該邊界具有阿爾法
  3. 快照下面的圖層。
  4. 減少渲染節點的數量,隱藏「沙塵暴下」的節點。

而且你應該使用真實設備來測試遊戲的性能,你不能依賴模擬器。

+0

我會嘗試這些,我可能不會回到這一點,但您的信息似乎相當準確,有幫助。每個解決方案似乎都有其他一些問題,但我可以解決這些問題。最重要的是你的分析對我來說似乎是對的雖然,我剛剛更新了我的問題,但我發現了一些問題 – IAmTheAg