UE4中性能优化和检测工具

UE4中性能优化和检测工具合集

  • 简述
  • CPU
    • Unreal Insight
    • Unreal Profiler
    • Simpleperf
    • Android Studio
    • Perfetto
    • XCode Timeprofiler
    • Best Practice
  • GPU
    • Adreno GPU
    • Mali GPU
    • Android GPU Inspector (AGI)
  • 内存
    • 堆内存分析
      • Android Studio
      • LoliProfiler
      • UE5 Memory Insights
      • Unity Mono 内存
      • Memreport
      • RHI Memory
      • XCode Allocations
  • 功耗
    • 硬件方案
      • 电流计
    • 软件方案
      • Perfdog
      • Android 的 Snapdragon Profiler
      • Ios 的 Instruments
  • 包体
    • SizeMap
    • Unreal PakViewer
    • Custom Built Profiler With CI
  • 代码崩溃 & 稳定性
    • Address Santizer
    • StompAllocator
    • Vulkan

简述

总结UE4中性能优化工具合集,之前转过一篇LLM内存统计工具,非常详细,这里会总结全面,包括了CPU/GPU/内存/功耗/包体/代码稳定的各类工具,方便筛选使用

对于每一帧来说,执行顺序依次为:Game Thread → Draw Thread → GPU Thread
Game Thread 首先会对整个游戏世界进行逻辑层面的计算与模拟(e.g.Spawn 多少个新的 actor、每个 actor 在这一帧位于何处、角色移动、动画状态等等),所有这些信息会被输送到 Draw Thread;
Draw Thread(也叫 Rendering Thread) 会根据这些信息,剔除(Culling)掉不需要显示的部分(e.g. 处于屏幕外的物体),接着创建一个列表,其中包含了渲染每个物体必备的关键信息(e.g. 如何被着色、映射哪些纹理等等),再将这个列表输送给 GPU Thread;
GPU Thread 在获取了这个列表之后,会计算出每个像素最终需要如何被渲染在屏幕上,形成这一帧的画面。

CPU

Game Thread 造成的开销,可以使用stat game显示 Tick 的耗时情况 ;dumpticks:可将所有正在 tick 的 actor 打印到 log 中

Unreal Insight

Unreal Insight在 Unreal Engine 4.24.3版本中开始支持移动平台性能数据录取。数据直接写入文件,GUI工具采集结束后离线解析数据文件。(平时使用较多)

优势:可长时间录制数据,数据在时间轴上以进程调度的形式展示,比较容易分析Game、RenderThread与WorkerThread的调度情况,从整体上结合时间连贯性对CPU瓶颈进行初步的定位。也可用于分析有规律的卡顿掉帧的情况。

劣势:所记录的调用堆栈较浅(可手动打点),较难定位到具体出问题的代码,人工分析需要时间与经验
UE4中性能优化和检测工具_第1张图片

Unreal Profiler

UE5已删除此模块

(平时使用较多)Unreal Engine 中的 Profiler则是分析CPU端性能情况的一个老工具,与Unreal Insights相比它缺少了线程间调度情况的数据,优点在于其记录的调用堆栈深度较深,可与Insights结合使用 UE4引擎窗口中菜单DeveloperTools下SessionFrontend界面即为Profiler所在的窗口 可通过两种方法抓取数据:

启动程序时增加参数:-messaging

游戏中使用命令: stat startfile, stat stopfile

/sdcard/UE4Game/YourProject/UE4CommandLine.txt
../../../YourProject/YourProject.uproject -messaging
# 数据存放于
/sdcard/UE4Game/FPSDemo/FPSDemo/Saved

你可能感兴趣的:(UE4,ue4,性能优化)