Como otimizar a renderização de muitos sphereGeometry em three.js?

Gostaria de otimizar a renderização do sphereGeometry no three.js, pois ele se torna um gargalo no meu programa. O programa javascript é mostrado da seguinte maneira:

var sphereThree = [];
for(var idSphere = 0; idSphere < numSphere; idSphere++){
    var sphereGeometry = new THREE.SphereGeometry(1.0);
    var sphereMaterial = new THREE.MeshLambertMaterial({color: 'rgb(255, 0, 0)'});

    sphereThree[idSphere] = new THREE.Mesh(sphereGeometry, sphereMaterial);

    sphereThree[idSphere].position.x = x[idSphere];
    sphereThree[idSphere].position.y = y[idSphere];
    sphereThree[idSphere].position.z = z[idSphere];

    scene.add(sphereThree[idSphere]);
}

Conforme mencionado nos links a seguir:
- Animando um milhão de letras usando o Three.js
- Otimizando o desempenho do Three.js: simulando dezenas de milhares de objetos móveis independentes
eles apontaram que não devemos adicionar objetos individualmente e, melhor, adicionar o mesmo tipo de objetos ao mesmo tempo para a otimização. No entanto, como sou novo nesse campo, não faço ideia de como codificar essa otimização ao usar o SphereGeometry.

Se alguém souber codificá-las usando o SphereGeometry, ou alguém que conheça um método eficiente para renderizar muitas (10.000 ou mais) esferas, você poderia nos ensinar?

Obrigado!

questionAnswers(2)

yourAnswerToTheQuestion