[英]SceneKit - Adding a new SCNNode to the scene causes severe lag
我發現將SCNNodes(帶有SCNGeometry)添加到場景會導致嚴重的滯后峰值。
根據Time Profiler,它必須生成幾何(至少函數/方法被稱為)。 它在將節點添加到場景時執行此操作,而不是在創建節點時執行此操作。 因此,使用SCNNodes創建池將不起作用。
有沒有辦法擺脫這種滯后? 我希望能夠在沒有任何FPS丟棄的情況下向場景添加節點。
到目前為止我唯一的想法是將所有內容添加到場景中,然后隱藏/取消隱藏它,盡管這不是一個干凈的解決方案。
這是Time Profiler的一個鏡頭:
看起來你正在添加一個附有SCNShape
或SCNText
的節點,這些幾何形狀的創建成本很高(你必須對Bézier曲線進行離散和三角測量,最后必須計算和偏移倒角曲線)。
您可以嘗試從SCNSceneRenderer
預加載以下方法: -prepareObject:shouldAbortBlock:
SCNSceneRenderer
- -prepareObject:shouldAbortBlock:
-prepareObjects:withCompletionHandler:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.