【发布时间】:2017-01-09 10:39:20
【问题描述】:
为了在 SceneKit 游戏中表示地形,我有大约 20k 个 SCNNode 以层次结构的形式构建,类似于八叉树或四叉树。这棵树不平衡 - 一些分支的伟大 (*n) 孙辈比其他分支多得多。
SceneKit 花费了多少额外的时间来获取单个 SCNNodes 以进行物理、渲染、添加/删除节点等,与它们在根级别都是平坦的情况相比?是否需要做很多额外的工作来遍历树的整个高度来迭代或执行随机访问,或者它只是不是一个显着的开销? (也许提前构建节点本身就足够聪明了?)
我不是在问图形引擎在理论上如何处理这个问题。我在问 SceneKit 实际上做了什么。
编辑:以防万一它让人们无法回答这个问题......我不需要 SceneKit 需要多少时间的确切数字,显然这取决于设备。我只是想知道这是否占很大比例。有没有人尝试过两种方法并进行比较,或者从一种方法切换到另一种方法并注意到是否存在显着差异?
感谢您的帮助。
【问题讨论】:
-
看起来这个问题彻底击败了赏金猎人,但如果未来有任何优秀的天才能够勇敢地接受挑战,我们中的很多人仍然会喜欢答案。
-
更新:见triple7的回答下的评论。