【发布时间】:2016-03-19 08:33:08
【问题描述】:
更新:对于偶然发现这一点的任何人,SceneKit 似乎对它可以渲染的最大对象数量有一个阈值。使用[SCNNode flattenedClone] 是帮助增加它可以处理的对象数量的好方法。正如@Hal 建议的那样,我将向 Apple 提交一份错误报告,描述下面讨论的性能问题。
我对 iOS 有点陌生,我目前正在为一门课程开发我的第一个 OS X 项目。我本质上是在创建随机几何图形(如果它们之间的距离≤给定半径,则空间中的随机点相互连接)并且我正在使用 SceneKit 来显示结果。我已经知道我将 SceneKit 推到了极限,但是如果我要绘制的对象数量太大,整个事情就会崩溃,我不知道如何解释结果。
我的 SceneKit 场景由默认相机、2 个照明节点、SCNNode(图中的节点)中的每个节点约 5,000 个SCNSpheres,然后是约 50,0000 个SCNPrimitiveSCNGeometryPrimitiveTypeLine 类型的连接组成这也在SCNNodes 内。然后将所有这些节点添加到一个大节点,该节点将添加到我的场景中。
该代码适用于较少数量的球体和连接。
当我使用这些规范运行我的应用程序时,一切似乎都运行良好,然后在执行以下几行后 5-10 秒:
dispatch_async(dispatch_get_main_queue(), ^{
[self.graphSceneView.scene.rootNode addChildNode:graphNodes];
});
考虑到我是 Xcode 的新手,并且习惯了在崩溃时更详细的输出,我有点不知所措。如何获取有关此崩溃的更多信息?
【问题讨论】:
标签: objective-c macos scenekit