3D AR 绘图应用程序在绘图时滞后且帧速度显着下降

3D AR Drawing app lagging and frame speed drops significantly while drawing

我是 ARKit 新手。我正在尝试将如此多的新节点添加到相机前面的场景视图中。我想添加不同颜色的圆柱体和球体等对象。问题是我的帧速度会显着下降,并且在我向场景添加 30 个对象后我的 phone 开始滞后很多。我搜索了很多解决方案,发现此功能很有用。 prepare(_:completionHandler:)。这就是我在没有准备功能的情况下将对象添加到场景的方式。

self.sceneView.scene.rootNode.addChildNode(cylinder)

现在我正在使用这样的准备功能:

self.sceneView.prepare([cylinder], completionHandler: { (success) in 
     self.sceneView.scene.rootNode.addChildNode(cylinder)
})

现在像以前一样掉帧,而且应用程序会在场景中添加 50 个对象后崩溃。

我觉得我没有正确使用它,我不知道如何使用它?!

此外,我在想我还能做些什么来改进我的 ARKit 应用程序?

您添加对象的方式与您看到的帧速率以及您何时使用所有可用内存无关。添加对象的不同方法对于保持 UI 响应很有用,但在将大量对象放入 ARKit 场景时,您需要优化(或使用更强大的硬件)。

如果您想了解您的 ARKit 性能,medium article on ARKit 1.5 vs. 2.0 可能会有用。