我有两个.dae文件,一个有100万个面孔,第二个有20万个面孔。 我使用ColladaLoader导入它们。 问题是,2000万面临的运行速度为30fps,而100万面临的运行速度为2fps。 那个怎么样?我该如何解决这个问题?
答案 0 :(得分:0)
您必须检查这些模型中有多少个网格物体。性能很大程度上取决于模型中绘制调用(网格)的数量,因为更多的绘制调用意味着更多的数据传递给GPU。
举个例子,我有一个有350万个面孔的网格,它有超过1000个网格。我得到了20 fps。但是当我将所有网格合并到一个网格时,我得到了60 fps。
此问题的解决方案是将网格的几何合并为单个网格,并使用该几何构建单个网格。对于BufferGeometry
,您可以合并所有顶点数组,颜色数组和普通数组。对于合并索引数组,您必须为每个索引值添加基本顶点。