UE5 Profile 内存

UE5 提供了多种Profile内存(Memory)的手段。

memreport -full

在cmd命令行输入 memreport -full

内存报告文件会输出到Saved\Profiling\MemReports\XXX.memreport

用文本文件打开XXX.memreport

物理内存和虚拟内存相关信息

Process Physical Memory Process Virtual Memory Physical Memory Virtual Memory
进程物理内存 进程虚拟内存 物理内存 虚拟内存

标记使用内存

UE Allocator对分配的内存打特殊标记, 比如TEXTUREGROUP_Lightmap,TEXTUREGROUP_UI等等。

 

UObject对象数量和内存统计 

 最后一行算了Objects的总内存

Class Count NumKB MaxKB ResExcKB ResExcDedSysKB ResExcShrSysKB ResExcUnkKB
UObject的类别 数量

使用

内存

最大使用内存

其他ResExc的总和

专用系统内存中分配的字节数 共享系统内存中分配的字节数 在位置内存中分配的字节数
ResExcDedVid ResExcShrVidKB
专用视频内存(VRAM)中分配的字节数 共享视频内存(VRAM)中分配的字节数

RHI内存

RHI资源内存(比RHI内存更具体)

 SkeletalMesh的资源 Object对象数量和内存统计 

 StaticMesh的资源 Object对象数量和内存统计

 具体纹理对象内存占用(非VirtualTexture)

粒子系统占用内存 

.ini配置文件占用内存

RT池占用内存 

具体纹理对象内存占用

 StaticMeshCompoent占据内存Object对象统计

Unreal Insights--Memory Insights

文档在: 虚幻引擎中的Memory Insights | 虚幻引擎5.2文档 (unrealengine.com)

打开Unreal Insights

UnrealInsights.exe是一个独立Profile程序, 在 Engine\Binaries\Win64

 如果该目录不存在UnrealInsights.exe执行程序, 得在工程中构建

 打开显示: Live代表正在运行的进程

加执行命令参数启动Editor或者项目

 Trace分析

点击上面UnrealInsight的OpenTrace,打开捕捉信息

 LLM Tags

可以把想列表里想查看内存的对象类在左边的视图列出来

 Investigation

内存调查系统, 可以使用规则(大于某个时间点,小于某个时间点,在某两个时间点之间)来显示一段时间内分配而一直未释放的内存, 下面是查看从10秒 ~ 20s的内存变化(10s开始分配并且到20s的时候还未释放的内存统计

 

 这里点击Hierarchy每个alloc名字左边可以查看分配程序栈,内存大小,源文件等等:

 看了下感觉没中不足的是,缺乏信息,像Memort -full指令能指出一个object对象的具体名字和地图路径。

猜你喜欢

转载自blog.csdn.net/qq_29523119/article/details/131628733