2016-07-29 43 views
0

我有两个.dae文件,一个拥有一百万张脸,第二个拥有两千万张脸。 我使用ColladaLoader导入它们。 问题是,2000万人面临以30fps运行,100万人面临以2fps运行。 那是怎么回事?我该如何解决这个问题?三千万面孔渲染性能collada文件

+0

这不仅是决定表演的面孔的数量。你可以提供一个代码示例吗?其他因素可能是:网格的数量,材料的数量和类型,实际渲染的面的数量等等。 –

回答

0

您必须检查这些模型中有多少个网格。性能在很大程度上取决于模型中绘制调用(网格)的数量,因为更多的绘制调用意味着更多的数据传递给GPU。

举个例子,我有一个350万张脸的网格,它有1000多个网格。我得到了20帧/秒。但是当我将所有网格合并到单个网格时,我得到了60 fps。

此问题的解决方案是将网格的几何图形合并到一个网格中,并使用该几何图形构建单个网格。对于BufferGeometry,可以合并所有的顶点数组,颜色数组和常规数组。对于合并索引数组,您必须为每个索引值添加基本顶点。