SceneKit no OS X com milhares de objetos

Estou seguindo este tutorial:http://blog.bignerdranch.com/754-scenekit-in-mountain-lion/

Estou interessado em usar o Scene Kit, mas minhas cenas podem potencialmente ter milhares de esferas. Para testar o teste de estresse, tentei isso:

SCNSphere *sphere = [SCNSphere sphereWithRadius:0.5];
for (int i=0; i<10; i++) {
    for(int j=0; j<10; j++){
        for(int k=0; k<10; k++){
            SCNNode *myNode = [SCNNode nodeWithGeometry:sphere];
            myNode.position = SCNVector3Make(i,j,k);
            [root addChildNode:myNode];
        }
    }
}

Isso funciona bem para, digamos, 1000 esferas (10 ^ 3), mas falha (talvez sem surpresa) para 1.000.000 de esferas (100 ^ 3). Não me importo de não poder usar um milhão de esferas, mas gostaria de descobrir qual é o limite superior sensato (5.000? 15.000?) E como aumentá-lo.

O que posso fazer para mitigar isso? por exemplo. Eu tentei sphere.segmentCount = 3 e, enquanto isso acelera a renderização, não tem muito efeito sobre o uso de memória, que eu suspeito que seja o fator limitante.

Além disso, parece não haver uma classe SCNPoint. Eu estava pensando em mudar para apenas mostrar um ponto quando o número de esferas é muito alto, mas não consigo ver na documentação do SceneKit como exibir um ponto simples - o mais simples que posso ver é um triângulo.

Qualquer ajuda é muito apreciada.

Editar: @toyos sugeriu que os objetos SCNSphere sejam mesclados em um único objeto SCNGeometry (desde que não precisem ser animados de forma independente, o que não acontece), mas não consigo encontrar uma maneira fácil de fazer isso.

SCNGeometry é criado usando[SCNGeometry geometryWithSources:(* NSArray)sources geometryWithElements:(* NSArray) elements] como documentadoAqui, mas não estou claro sobre como criar umSCNGeometry objeto das minhas esferas.

por exemplo. para uma única esfera, eu pude ver usandosphere.geometryElementCount para obter o número de elementos e, em seguida, usar isso para preencher uma matriz usando[sphere geometryElementAtIndex:(NSInteger)elementIndex] o que me daria os elementos, mas não sei como obter as "fontes" (ou o que elas são mesmo). O método para obter as fontes de geometria é[sphere geometrySourcesForSemantic:(NSString*) semantic], mas o que é essa string semântica? (é para ser "normal" ou "vértice" ou isso é outra coisa? a documentação diz muito proveitosamente que a semântica é "O valor semântico da fonte da geometria" sem dizer quais são os valores possíveis da semântica)

Isso é apenas para uma única esfera, o que seria bastante sem sentido (já queSCNSphere é apenas uma subclasse deSCNGeometry de qualquer maneira), então agora tenho que adicionar várias esferas. Então, eu teria que traduzir manualmente os vértices da esfera ao adicioná-los ao meuSCNGeometry objeto?

Eu só estou tentando descobrir a maneira mais sensata de fazer isso.

questionAnswers(2)

yourAnswerToTheQuestion