团结引擎现已支持对虚拟几何体中Budget的显存占用量进行调整,来适配不同项目和平台的需求,提高虚拟几何体对显存的利用率。
在打开虚拟几何体功能的项目中,通过选择Editor->Project Settings…->Quality,拉至面板底部,找到Virtual Geometry部分。
虚拟几何体的Budget由三部分组成:Persistent Buffer、Streaming Buffer和Page Upload Buffer,都是以MB为单位进行大小调整。 调整过程中,Persistent Buffer的最大取值受到Streaming Buffer当前值的影响,保证Budget总大小被约束在一个适当范围内。 Page Upload Buffer负责将Cluster数据从内存上传至显存,Page Upload Buffer的大小直接影响了单帧能够上传的Cluster数据数量。
选项 | 描述 |
---|---|
Persistent Buffer Size | 调整Persistent Buffer的大小,Persistent Buffer大小的最低限度取决于场景中打开虚拟几何体功能的Mesh数量。如果Persistent Buffer太小,那么会导致部分打开虚拟几何体功能的Mesh无法被绘制。 |
Streaming Buffer Size | 调整Streaming Buffer的大小,Streaming Buffer大小的最低限度取决于渲染分辨率。通常情况下,建议在1080P分辨率下不低于128MB,2K分辨率下不低于256MB,4K分辨率下不低于512MB。 |
Page Upload Buffer Size | 调整Page Upload Buffer的大小,Page Upload Buffer大小的最低限度取决于场景中Mesh的数量和场景变化的快慢,场景中Mesh越多,场景变化越快,所需的Page Upload Buffer越大,才能保证Cluster的LOD切换更不易被察觉。 |
目前团结引擎提供一种对Persistent Buffer大小是否合适的检测方法,在Editor的设置中调整Persistent Buffer大小之后,以Play Mode的方式运行场景。 场景运行过程中,如果出现Persistent Buffer配置大小小于所需的情况下,那么控制台会打印出提示信息,并给出当前运行情况下,所需的Persistent Buffer的最小值。
Streaming Buffer和Page Upload Buffer大小是否合适,需要在运行时测试确定。 过小的Streaming Buffer,会导致场景中频繁出现Cluster数据卸载和加载的情况。 过小的Page Upload Buffer,会导致Cluster数据无法快速加载到GPU显存中。 两者的不合理设置都会导致性能瓶颈,发生帧率波动。