我们拥有12k tris(A货物集装箱)的资产,我们在Unity Asset商店找到了一个更好看的资产,拥有3.5k tris.然而,新资产的物理长度是旧资产的一半,因此为了保持相同的水平设计,我们需要为每个旧资产提供两个对象.
我们为对象勾选了静态批处理.
新资产与查看同一场景中同一位置的旧统计数据
tris: 800k vs 1.1m
verts 900k vs 1.4m
batches: 611 vs 490
setpass calls: 192 vs 167
Bonus
Lightmap: 150mb vs 200mb
Run Code Online (Sandbox Code Playgroud)
所以我们有更多的批次和绘制调用显然是因为对象数量较多.批量/ setpass调用中三重计数的减少是否值得增加?
我们的目标平台是SteamVR(台式电脑和HTC Vive/Rift),推荐规格为GTX 970和中端CPU
一般来说,绘制调用比仅考虑 tris 的数量更昂贵。当然,您需要分析实际结果。请注意,如文档中所述,批处理仅在某些条件下起作用,其中之一是网格的顶点数少于 900(?) 等。您可以通过编辑器工具(例如构建期间的 OnPostprocessScene 或任何适合您的管道的工具)执行自定义批处理来进一步优化场景。您可以使用 CustomBatchingUtility、MeshUtility 或自行编写。那么您不需要进行权衡,您就能两全其美。