批次与Tris表现

And*_*ers 5 unity-game-engine

我们拥有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

在前景的背景新的资产的老资产 在此输入图像描述

Xar*_*ugh 2

一般来说,绘制调用比仅考虑 tris 的数量更昂贵。当然,您需要分析实际结果。请注意,如文档中所述,批处理仅在某些条件下起作用,其中之一是网格的顶点数少于 900(?) 等。您可以通过编辑器工具(例如构建期间的 OnPostprocessScene 或任何适合您的管道的工具)执行自定义批处理来进一步优化场景。您可以使用 CustomBatchingUtility、MeshUtility 或自行编写。那么您不需要进行权衡,您就能两全其美。