three.js - лаг при загрузке модели
Имеется несколько ply моделей, которые поочередно грузятся и сменяют друг друга. Однако после окончания загрузке при помещении модели на сцену происходит заметный лаг, во время которого зависает просмотр сцены (например, зависает камера).
function loadUpperJaw(number, oldMesh = null) {
loader.load(`ply/upperJaw${number.toString().padStart(2, '0')}.ply`, function (geometry) {
console.log(`upper ${number} is loaded`);
geometry.computeVertexNormals();
if (oldMesh !== null) {
scene.remove(oldMesh);
}
let mesh = new THREE.Mesh(geometry, material);
mesh.rotateX(-Math.PI / 2);
mesh.castShadow = true;
mesh.receiveShadow = true;
scene.add(mesh);
let nextModelIndex = number >= 20 ? 1 : number + 1;
setTimeout(loadUpperJaw, 500, nextModelIndex, mesh);
}, function (event) {
console.log(event);
}, function (error) {
console.log(error);
});
}
loadUpperJaw(1);
Сами модели весят в среднем по 5 МБ. Меня интересует возможно ли избавиться от этого лага, чтобы сцена не зависала и если да, то как?