Scenekit: Rendimiento de SCNNode octrees / quadtrees vs all in level root

Para representar el terreno en un juego SceneKit, tengo alnetworkingedor de 20k de SCNNodes estructurados en una jerarquía, similar a un octree o quadtree. Este tree no está equilibrado: algunas twigs tienen muchos más genios (* n) que otros.

¿Cuánto time extra está gastando SceneKit en cada SCNNode para la física, renderizado, adición / eliminación de nodos, etc., en comparación con si todos estuvieran planos en el nivel raíz? ¿Tiene que hacer mucho trabajo extra para recorrer toda la altura del tree solo para iterar o realizar un acceso aleatorio, o simplemente no es una sobrecarga significativa? (¿Quizás es lo suficientemente inteligente como para haber estructurado los nodos por adelantado?)

No me pregunto cómo teóricamente un motor de charts podría manejar esto. Me pregunto qué hace realmente SceneKit.

Edit: por si acaso está dejando a la gente respondiendo esto … No necesito numbers exactos de la cantidad de time que toma SceneKit, obviamente eso depende del dispositivo de todos modos. Solo quiero saber si es una proporción significativa de time. ¿Alguien ha tenido la experiencia de probar ambos enfoques y comparar, o cambiar de uno a otro y notar si hubo una diferencia significativa?

Gracias por tu ayuda.

También estoy investigando esto ya que mi escena está comenzando a empacar una gran cantidad de nodos, pero aquí está mi opinión:

Cuando invoca node.childNode (withName: String, recursively: true), esto significa que la implementación usa alguna forma de tree balanceado o no balanceado, elija entre un tree binary, ab tree b + tree (en el caso de que un nodo tenga varios nodos secundarios más allá de un umbral determinado), terminarás principalmente con un logging | n | complejidad dependiendo de si desea insert eliminar o search una estructura de tree. el tree AVL por lo general mantiene los nodos más utilizados en la jerarquía para get less cálculos.

Solo mirando las estructuras del tree cuádruple o del tree R, también probablemente tengan log | n | complejidad ya que estamos hablando de sub cuadrantes iterativos del cuadrante de raíz.

Sería bueno saber qué tipo de estructura real obtuviste en términos de nodos secundarios para ver cuál es la mejor estrategia para tomar.

En una nota lateral, ¿qué hace que su terreno tenga 20 k ndoes? ¿Está uniendo un nodo por punto o vértice bezier en su terreno para hacer algún cambio de morfo?