UE4优化流程

本文讨论了如何识别和解决GPU渲染中的瓶颈,涉及GPU渲染流水线、UE4帧渲染剖析、性能监控工具和优化步骤,包括资源限制、场景布局优化、LOD使用和实时光影调整等。
摘要由CSDN通过智能技术生成
  • 说明

只讨论GPU瓶颈,CPU一般是tick问题,具体根据项目代码研究

  • 前置知识

GPU Rendering Pipeline——GPU渲染流水线简介:熟悉渲染管线,了解图形渲染流程有助于理解优化过程,理解性能瓶颈等概念

GPU Rendering Pipeline——GPU渲染流水线简介 - 知乎

UE4是如何渲染一帧:熟悉每部分消耗的意义,以便从消耗高到低依次分析

译:UE4是如何渲染一帧的(1) - 知乎

译:UE4是如何渲染一帧的(2) - 知乎

译:UE4是如何渲染一帧的(3) - 知乎

Quick Profiling Guide:了解部分重要的控制台命令,通过开启/关闭,或调整数值,观察前后帧数差异,便于了解性能瓶颈以及优化方向

Quick Profiling Guide - Gamedev Guide

优化分析步骤

在确定是GPU瓶颈后,进一步确定是资源问题还是场景布局问题

(1)、资源问题需要研究资源是否符合当前制定的硬件平台性能标准,例如1060和2060都是60帧的情况下,2060拥有更快的数据处理能力,可以使用数据更大的资源。

一般来说,资源主要是贴图和模型、材质,贴图是分辨率及格式上优化,模型则是优化顶点、三角形数量,材质则是降低渲染指令,也可以使用LOD,对远处的物体单独设置低消耗材质。

(2)、场景布局问题主要表现在过于密集且视野开阔,对于性能降低的硬件,密集且视野开阔的场景,会使引擎需要渲染的模型数量大大增加。另一方面,开阔地形流关卡也不好做,即使远处只保留主体效果,对于较低性能显卡,依旧吃力,导致优化受限。

检查场景物件是否使用LOD和距离裁剪

如果项目是实时光影,一般低端显卡,阴影消耗占比非常高,可以考虑降低CSM数量,配合距离场阴影,或者直接烘焙,烘焙时,可以关掉杂物的动态阴影,一般不影响效果,且能明显降低阴影消耗。另外需要注意,如果使用烘焙后,阴影消耗异常的高,可能是因为方向光没有设置阴影距离,导致引擎改为用per object shadow,设置好阴影距离就正常了

对于Actor很多的场景,容易出现GPUSceneUpdate或VisibilityCommands很高的情况,这是场景中Actor太多导致更新场景物件多以及做Actor裁剪消耗高,这时可以考虑对比较碎的物件进行合并,以及把相同的Actor进行实例化,或者使用流关卡,将细节部分Actor移到流关卡并根据需求卸载

       最后学会使用RenderDoc之类的抓帧软件,对渲染消耗高的场景进行抓帧分析,以便通过消耗时间这一直观的数据,来确定场景中哪些Actor消耗不合理,并对其进行优化。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值