首页 > 解决方案 > UE4项目中如何减少DrawCount?有优化专业的吗?

问题描述

我有一个大项目来优化很多建筑物、树木和资产。我有非常高的 BasePass、PrePass、ShadowDepth 和 Translucency。查看图像屏幕截图有 什么建议吗?

锐龙 7 4800H + RTX 2060 + 16GB 内存

标签: optimizationrenderingunreal-engine4

解决方案


如果我们要减少绘制调用,我们正在讨论让引擎使用更少的材料一次渲染更少的对象。

您为此采取的方法是:

- 设置 HLOD 以组合远程网格 https://docs.unrealengine.com/4.26/en-US/BuildingWorlds/HLOD/Overview/

- 设置 HISM/ISM(只要您使用的是 DirectX 12 而不是 11。使用 11,它会自行完成)。请记住仅对彼此相邻的对象执行此操作,否则问题会变得更糟。 https://www.unrealengine.com/marketplace/en-US/product/instance-tool

- 减少不需要太多的网格上的材料槽数量或将小网格与类似材料组合在一起。Actor 合并对此非常有用,只是要小心过度,因为它会使光照烘焙和光照贴图内存使用变得痛苦。 https://docs.unrealengine.com/4.26/en-US/Basics/Actors/Merging/

- 减少一些靠近地面的较小网格的最大绘制距离。您可以在网格的渲染设置中找到它。

这些事情中的任何一个都会减少绘制调用,只是要小心。任何一种方法进行过多的优化总是会在其他地方造成瓶颈,从而使问题变得更糟。当我们减少绘制调用时,我们也面临着减慢遮挡计算时间或可能造成内存带宽瓶颈的风险。

一旦你得到了绘制线程时间,我接下来要做的就是减少可移动灯光、投射动态阴影的对象和投射动态阴影的半透明对象的数量。这些是其他优化问题的一些常见罪魁祸首。


推荐阅读