我创建了一个简单的项目,其中约.在场景中创建了7000个立方体(使用VR摄像头),但问题是当我移动摄像头以查看所有立方体时,FPS变得非常糟糕,类似于5-6帧.我的PC是i7与GTX 1070,我认为它必须毫无问题地绘制数十万个立方体.真的,我看到了我的世界,看起来没有问题画立方体))
所以问题是可以优化场景,以便所有立方体都被绘制成一个调用或其他东西以提供良好的性能吗?
我实际上所有的立方体都是静态的,没有纹理只有标准材料......
我正在使用默认的Directional Light,因为它可以很好地处理光线,所以最好不要更改标准着色器.
以下是我如何生成多维数据集:
private void AddCube(Vector3 coords)
{
var particle = (Transform)MonoBehaviour.Instantiate(prototype.transform, holder.transform);
SetScale(particle);
SetPosition(particle, coords);
cubes.Add(particle.gameObject);
particle.gameObject.isStatic = true;
}
private void SetScale(Transform particle)
{
particle.localScale = new Vector3(Scale, Scale, Scale);
}
private void SetPosition(Transform particle, Vector3 coords)
{
particle.position = coords;
}
Run Code Online (Sandbox Code Playgroud)
这是统计数据的屏幕截图:
我有41 fps,因为我将相机移离立方体,以便为统计面板提供干净的背景.实际上,在我制作立方体"静态"后,FPS取决于屏幕上是否可见的立方体.