1
我需要一個建議。我正在製作一個有很多SKShapeNodes的遊戲。所以我的FPS是18左右。有沒有人有關如何增加這種遊戲FPS的建議?在全場比賽現場SKShapeNode的金額是220如何用SKShapeNodes增加spritekit遊戲中的FPS?
我需要一個建議。我正在製作一個有很多SKShapeNodes的遊戲。所以我的FPS是18左右。有沒有人有關如何增加這種遊戲FPS的建議?在全場比賽現場SKShapeNode的金額是220如何用SKShapeNodes增加spritekit遊戲中的FPS?
SKShapeNode
是相當性能密集型因爲SpriteKit是光柵化(計算你的形狀的像素)每框架,而不是一次計算它的比重新使用。
兩個選項我看到的是:
SKTexture
(一個或多個)目標(S)與你的形狀節點,並且比SKSpriteNode
顯示的紋理,而不是直接顯示您的SKShapeNode
對象。SKEffectNode
您SKShapeNode
對象的孩子,並設置其屬性shouldRasterize
到true
,它的意思是,它會rasterise的SKEffectNode
孩子一次,緩存什麼被渲染和重用它,而沒有任何改變。你應該使用什麼取決於你試圖實現什麼,這些節點的形狀隨時間而變化?這些形狀是在四處移動嗎?它們全部是在變化/移動還是隻有其中的一部分?
謝謝,特雷弗安妮丹尼斯!我正在使用這些形狀只是爲了移動,如果它需要刪除,一次又一次地產生新的形狀。那麼對我來說第一個選擇更好嗎? –
@NurassylNuridin歡迎您,只需記住一件事:緩存只有在不改變形狀的情況下才非常有效,因此緩存不會改變的內容。如果您只想移動某些節點,請直接移動緩存它們的節點,以便它只是「移動紋理」,而不是重新繪製所有內容。 –
但順便說一下,我相信在某些情況下,移動SKEffectNode可能會觸發其子節點的「新渲染」。 –