合并网格会降低FPS

时间:2014-05-09 06:33:10

标签: javascript merge three.js mesh frame-rate

我已经合并了大约2500个网格(每个网格都有自己的颜色),但FPS低于我不会合并的情况。

根据THIS,如果你想增加FPS,合并是你要走的路。

我在这里错过了什么吗?

var materials = new Array();
var new_geo = new THREE.Geometry();

for (var i = 0; i < AllMeshes.length; i++) {
    materials.push(AllMeshes.children[i].material);
    THREE.GeometryUtils.merge(new_geo, AllMeshes.children[i], i);
}

var mesh = new THREE.Mesh(new_geo, new THREE.MeshFaceMaterial(materials));

1 个答案:

答案 0 :(得分:1)

在引擎盖下,使用MeshFaceMaterial将网格分割为每个材质的单独网格 - 因此,如果每个子网格都有单独的材质,则Three.js必须将组合网格再次分开。因此,您认为合并的几何体实际上不会一次性发送到GPU。