簡體   English   中英

SceneKit - 向場景添加新的SCNNode會導致嚴重延遲

[英]SceneKit - Adding a new SCNNode to the scene causes severe lag

我發現將SCNNodes(帶有SCNGeometry)添加到場景會導致嚴重的滯后峰值。

根據Time Profiler,它必須生成幾何(至少函數/方法被稱為)。 它在將節點添加到場景時執行此操作,而不是在創建節點時執行此操作。 因此,使用SCNNodes創建池將不起作用。

有沒有辦法擺脫這種滯后? 我希望能夠在沒有任何FPS丟棄的情況下向場景添加節點。

到目前為止我唯一的想法是將所有內容添加到場景中,然后隱藏/取消隱藏它,盡管這不是一個干凈的解決方案。

這是Time Profiler的一個鏡頭:

在此輸入圖像描述

看起來你正在添加一個附有SCNShapeSCNText的節點,這些幾何形狀的創建成本很高(你必須對Bézier曲線進行離散和三角測量,最后必須計算和偏移倒角曲線)。

您可以嘗試從SCNSceneRenderer預加載以下方法: -prepareObject:shouldAbortBlock: SCNSceneRenderer - -prepareObject:shouldAbortBlock: -prepareObjects:withCompletionHandler:

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM