Optimización de SceneKit

Quiero mostrar la misma SCNGeometry 1000 veces, pero con una animation específica (por ejemplo, SCNActions para rotation, movimiento, …) y una image diferente como material difuso.

Después de revisar la documentation y las buenas presentaciones de WWDC, el mejor método que encontré para crear un nodo es (por lo que se llama 1000 veces)

 //self is a SCNNode //helper.getStar3D() is a SCNNode template which has been flattened //the geometry is light (36 triangles according to scenekit statistic) //need to copy the geometry and material so it is not shanetworking by all nodes self.geometry=helper.getStar3D().geometry.copy() as SCNGeometry self.geometry.firstMaterial = helper.getStar3D().geometry.firstMaterial.copy() as SCNMaterial // texture has been extracted from a SKTextureAtlas self.geometry.firstMaterial.diffuse.contents=allTextures.firstObject as SKTexture 

Sin embargo, en un iPad Air solo estoy llegando a 40 fps (y 27 fps cuando animo la textura a través de SCNAction con un bloque que actualiza firstMaterial.diffuse.contents)

Pensé que al usar un SKTextureAtlas (para que todas las imágenes tengan la misma textura) y usar la misma geometry (aparentemente cuando copys una geometry, los datos se comparten – cf Building a Game con sceneKit ), obtendría más fps porque debería Permitir la optimization de OpenGL. Traté de jugar con muchos parameters de SceneKit pero sin éxito.

Para el aviso: las statistics de SceneKit indican que hay 1000 llamadas de dibujar, y las statistics de charts en Xcode son: cpu 18ms, GPU es 22ms, tiler 18%, renderer 80%, dispositivo 88% (no puede esperar las nuevas statistics de SceneKit module en Xcode!)

Entonces, mi pregunta es: ¿Crees que es un performance normal o hay una manera de optimizar lo que quiero hacer en SceneKit? ¡Gracias!

EDIT : En realidad SKTextureAtlas no parece optimizar la representación, pero parece networkingucir la velocidad de fotogtwigs. si utilizo UIImage en lugar de SKTexture procedente de un SKTextureAtlas, tengo un 25% de mejora (50 fps). Animar la textura (actualizar la textura de cada object cada 0,2 segundos) realmente está matando el performance (20 fps) utilizando SKTextureAtlas o UIImages. Creo que me estoy perdiendo algo aquí porque SKTextureAtlas se usa generalmente para la optimization.