找回密码
 立即注册
查看: 177|回复: 0

虚幻引擎游戏性能优化秘笈(笔记)

[复制链接]
发表于 2024-7-15 18:19 | 显示全部楼层 |阅读模式
笔记来源:[UF2022]虚幻引擎游戏性能优化秘笈(官方字幕)_哔哩哔哩_bilibili
讲师的个人网站:ari.games
<hr/>分析的概念

何时优化


  • 过早的优化是万恶之源,在开发过程中要注意性能,不要牺牲代码的可读性
  • 在方针硬件上以60fps运行,不优化
  • 当呈此刻分析东西上时,优化
实用优化


  • 只在你没有达到你的帧时间时进行优化
  • 用最少的努力获得最大的影响
  • 不要盲目地优化,弄清楚是什么,为什么 ,怎么做
虚幻引擎中的分析

Unreal Insights


  • 从编纂器中启动Unreal Insights

    • Tools → Run Unreal Insights.

  • 启动unreallsights .exe

    • 虚幻自动连接到当地进程。
    • 使用-trace命令行参数覆盖通道。

      • 默认是cpu,帧,日志,书签
      • -trace=default,gpu,memory,file,loadtime

    • 制作一个快捷方式/bat文件很便利

ProfileGPU


  • 使用Ctrl + Shift + ,

    • 使用ProfileGPU控制台命令

  • 在编纂器中打开GPU可视化东西
  • 打印到打包生成中的控制台输出
实际用例

编纂器帧率过低

1.查看当前的fps



  • 点击show fps按钮
  • 在控制台输入stat fps
2.查看当前的消耗时间



  • 点击按钮Unit查看
  • 在控制台输入stat unit
3.分析是哪项导致的GPU消耗过高
打开ProfileGPU窗口,按照Duration分析是哪项的消耗过高


4.修复因为点光源导致的消耗过高问题

  • 点光源衰减半径缩小
  • 点光源不再投射暗影
加载资源导致卡顿

1.打包项目为Windows版本,创建快捷方式,覆盖检测通道


2.打开Unreal Insights分析卡顿问题,发现是加载资源问题,会刷新异步加载资源


3.进入对应蓝图,改削加载资源为异步加载,这样就不会刷新异步加载了


人物转身导致卡顿

1.按照stat unit显示的信息,判断出是GPU呈现问题


2.在打包版本中输入控制台命令 ProfileGPU,然后在Saved->Logs下打开日志文件


3.按照日志判断出是哪个东西导致的GPU异常


4.找到材质,并优化材质(增加alpha,降低噪点节点的级别,使用贴图来制作)


解决内存泄漏

1.在控制台输入gc.CollectGarbage,运行一会之后关掉


2.打开Unreal Insights,先删除带LLM标签的图标,在右边窗口的Rule选择 Memory Leaks (A*B C*) 【感化是:标识在时间A和时间B之间分配,在时间C之后释放的分配】,再点击 Run Query


3.找到问题发生地址,是某个Actor的Tick时造成的内存泄漏


4.按照代码发现是在堆上创建了对象,而且没有删除,建议打消使用new关键字



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-11-21 20:58 , Processed in 0.170236 second(s), 27 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表