UE5 性能分析 UnrealInsights

部署运行你感兴趣的模型镜像

Unreal Insights会话浏览器 (Unreal Insights Session Browser)是一个观察跟踪数据的界面。

一、开启UnrealInsights

以通过UE编辑器启动,请前往底部工具栏,然后点击Trace>Insights>Unreal Insights(Session Browser)。

二、Trace Store

Trace Store 是一个供你观察和管理所有已存储的跟踪会话(Trace Sessions)的界面。所跟踪记录以文件形式存储在一个文件夹中,Unreal Insights监测这个文件夹的任何数据变化,然后将可用的跟踪列表显示在Unreal Insights用户界面中。

数字索引类别描述
(1)Trace Store面板打开并管理你的跟踪文件以进行分析。
(2)Trace Story路径显示并打开Trace Sessions的目录路径
(3)Trace Sessions列出你可以加载分析的预记录会话。它们与Trace Store Directory中的 .utrace 文件对应。 你可以右键单击一个Trace Session来重命名或删除。你也可以使用快捷键:选择Trace Session并按 F2 重命名,或按 Del 删除。
(4)Session过滤器将你的跟踪文件按 平台 、 应用程序名称 、 配置 、 目标 和 分支 分类。
(5)搜索栏通过指令行或名称过滤你的搜索。
(6)连接选项卡设置与远程跟踪服务器的连接。

三、Connection连接选项卡

连接选项卡允许你通过跟踪服务器连接到一个正在运行的游戏或编辑器。它具有多个选项来改变你的连接设置。

 

数字索引类别描述
(6)连接选项卡管理远程运行的游戏或编辑器与跟踪服务器之间的连接。
(7)Trace Recorder IP地址跟踪服务器的IP地址
(8)运行实例IP地址与追踪服务器连接的项目(运行实例)的IP地址,以开始追踪数据。
(9)初始通道用于指定跟踪连接开始分析数据时要启用的跟踪通道列表的字段。

五、实时连接

如果一个实时Trace会话连接到该工具,它也会出现在列表中。实时会话在状态栏中显示 LIVE 字样,并在你分析它们时实时更新。否则,它们与预先录制的会话是一样的。

该工具可以同时连接到多个会话,并在数据流进来时自动记录所有这些会话的数据。要实时分析这些会话,从列表中加载它们,与加载预先录制的会话的方式相同。

六、Timing Insights窗口

Timing Insights 窗口收集性能数据。它显示的是 CPU 和 GPU 轨道的数据。这些轨道具有多个子菜单,帮助你分类和可视化各种处理任务以及你的项目在执行这些任务时花费的时间。

详见

https://dev.epicgames.com/documentation/zh-cn/unreal-engine/timing-insights-in-unreal-engine-5 

导出功能

定时器(Timers)面板具有通过选择一个或多个定时器并右键点击上下文菜单来导出时序事件数据的功能。

  • 导出(Export) (CTRL+S)

将选定的定时器及其分组统计数据导出到文本文件。

  1. 你可以找到时序(Timing)视图,点击并拖动时间栏,从主时间轴视图中标记你有兴趣导出的时间。
  2. 观察分组统计信息在定时器(Timers)面板中更新,体现时间选择。
  3. 从定时器(Timers)面板中,手动选择你有兴趣保存的定时器,或使用Ctrl+A选择所有定时器。
  4. 然后,按CTRL+S,或从上下文菜单中选择"导出(Export)"并选择 *.tsv 、 *.txt 或 *.csv 文件,以保存所选定时器及其聚合统计数据(针对所选时间范围)。
  • 导出时序事件(Export Timing Events)

将时序事件导出到文本文件。

  1. 找到时序(Timing)视图,点击并拖动时间栏,从主时间轴视图中标记你有兴趣导出的时间。

    如果没有选择时间,将导出整个时间轴。

  2. 在时序(Timing)面板中,点击CPU/GPU线程轨道,以显示或隐藏你想导出的轨道。
  3. 选择你感兴趣的定时器,或使用Ctrl+A选择所有定时器。
  4. 从上下文菜单选择 导出时序事件(选择)...(Export Timing Events (Selection)...),并选择用制表符分隔的值( *.tsv/*.txt )或用逗号分隔的值( *.csv )文件。
  5. 你可以导出"线程"和"定时器",以便将线程ID和定时器ID与线程和定时器的名称相匹配。
  • 多导出选项(More Export Options) / 导出线程(Export Threads)

将定时器列表导出到文本文件。( .tsv 或.csv )。

  • 更多导出选项(More Export Options) / 导出时序事件(全部)(Export Timing Events (All))

将全部CPU/GPU线程的全部时序事件导出到文本文件( .tsv 或.csv )。

导出文件可能很大,即使是小会话也可能有数百万个时序事件。

 

七、Memory Insights

Memory Insights 组件允许你调查你项目中的内存使用情况和调用堆栈追踪。

Memory Insights对运行期间发生的每个分配、重新分配或空闲事件进行追踪,然后在分析期间重建该内存使用模式。

详见

https://dev.epicgames.com/documentation/zh-cn/unreal-engine/timing-insights-in-unreal-engine-5

您可能感兴趣的与本文相关的镜像

ACE-Step

ACE-Step

音乐合成
ACE-Step

ACE-Step是由中国团队阶跃星辰(StepFun)与ACE Studio联手打造的开源音乐生成模型。 它拥有3.5B参数量,支持快速高质量生成、强可控性和易于拓展的特点。 最厉害的是,它可以生成多种语言的歌曲,包括但不限于中文、英文、日文等19种语言

<think>我们正在解决用户关于UE5运行时模型加载不全的问题。根据用户描述,文件运行正常但模型加载不完整。我们需要分析可能的原因并提供解决方案。可能的原因:1.资源加载异步问题:模型资源尚未加载完成时就开始渲染,导致部分缺失。2.LOD(Levelof Detail)设置问题:可能由于LOD设置不当,在特定距离模型切换为低模,而低模可能不完整。3.流送(Streaming)问题:如果使用世界分区(World Partition)或流送关卡,可能部分区域未正确加载。4.内存不足:资源占用过大,导致部分模型无法加载。5.材质问题:材质未正确加载或编译,导致模型显示不全。6.模型文件本身问题:模型在导入时损坏或导出时存在问题。7.碰撞问题:碰撞体过大或设置不当,导致模型被遮挡。8.渲染设置问题:如视锥体(Frustum)裁剪设置过小,导致部分模型被裁剪。解决方案:1.检查异步加载:确保资源加载完成后再进行渲染。可以使用异步加载回调函数(如FStreamableManager)来确保资源加载完成。2.检查LOD设置:在静态网格体编辑器中检查LOD设置,确保各级LOD模型完整。可以尝试禁用LOD(使用0级LOD)测试。3.检查流送设置:如果使用世界分区,检查流送源(如固定流送或运行时虚拟纹理流送)是否正常工作。检查加载范围(如加载网格体设置)。4.检查内存:使用内存分析工具(如UnrealInsights)查看内存使用情况,优化资源或增加内存。5.检查材质:在材质编辑器中检查材质是否正常编译,确保材质球正确应用到模型上。可以尝试使用简单材质替换测试。6.检查模型文件:重新导入模型,检查导入设置,或使用其他软件检查模型完整性。7.检查碰撞:在静态网格体编辑器中检查碰撞设置,尝试移除碰撞体或调整大小。8.检查视锥体设置:在摄像机设置中调整视锥体角度,确保不会过早裁剪模型。此外,参考引用[2]中提到了使用场景捕获组件(SceneCaptureComponent2D)来捕获场景图像,这虽然用于小地图,但也涉及到渲染。如果模型在小地图中显示完整而在主视图中不完整,则可能是主摄像机的设置问题。步骤建议:1.简化测试:创建一个新关卡,单独放置该模型,检查是否正常。2.日志分析:使用UE5的日志系统(如AddOnScreenDebugMessage)输出资源加载信息。3.调试工具:使用UE5自带的调试工具(如Stat命令)查看渲染状态。如果问题依旧,考虑在UE5社区或官方论坛寻求帮助。相关问题:1.UE5中如何优化大型场景的加载性能?2. UE5的LOD设置有哪些最佳实践?3.如何调试UE5的资源加载问题?</think>### UE5 运行时模型加载不全的原因与解决方案 在 UE5 开发中,模型加载不全通常由以下原因引起,附解决方案: #### **常见原因** 1. **异步加载未完成** - 模型资源仍在后台加载时场景已开始渲染 - 表现:模型部分缺失或闪烁,日志提示 `Async loading incomplete` 2. **流送系统配置错误** - 世界分区(World Partition)或数据层(Data Layers)未正确设置加载范围 - 表现:远距离模型不加载,靠近后突然出现 3. **LOD(细节层次)故障** - LOD 过渡距离设置不合理或 LOD 资源损坏 - 表现:模型在特定距离显示为低模或残缺 4. **内存限制** - 显存/内存不足导致资源被丢弃 - 表现:日志报 `Texture streaming pool over budget` 5. **材质编译问题** - 复杂材质未完成编译或 Shader 错误 - 表现:模型显示为紫红色(缺失材质)或部分透明 --- #### **解决方案** 1. **强制同步加载**(关键方法) 在关卡蓝图中添加逻辑: ```blueprint [事件 BeginPlay] → [Load Asset Sync] → [目标模型资源] → [附加到场景] ``` - 避免使用 `Async Load`,确保模型完全加载后再显示 2. **调整流送设置** - 打开 `World Partition Editor` - 增大 `Loading Range`(建议默认值 2 倍) - 勾选 `Enable Streaming Source` 确保动态加载激活 3. **修复 LOD** - 在静态网格体编辑器中: - 检查 LOD 数量:菜单栏 `Window → LOD Settings` - 重置 LOD 过渡:`LOD Group → Default` - 重新生成 LOD:`Generate LOD` 按钮 4. **优化内存占用** - 降低纹理分辨率:`Texture → LOD Bias +1` - 启用虚拟纹理:项目设置中开启 `Virtual Textures` - 使用 `Stat Memory` 命令监控内存峰值 5. **材质调试** - 在问题模型上临时替换为 `DefaultLit` 材质 - 检查材质编辑器中的编译错误(黄色警告) - 简化材质节点复杂度 --- #### **验证流程** 1. 在独立进程测试:`Play → Standalone Game` 2. 控制台命令诊断: ``` Stat Streaming // 检查流送状态 r.VT.Enabled 1 // 强制启用虚拟纹理 ProfileGPU // 分析显存瓶颈 ``` 3. 参考资源加载调试方法:通过 CMD 检查资源包完整性(引用[^1]): ```cmd cd [UE5安装路径]\Engine\Binaries\Win64 UnrealPak.exe [PAK文件路径] -List ``` > **注意**:若使用场景捕获组件(如引用[^2]的小地图方案),需确保捕获相机包含模型完整包围盒,避免裁剪。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

薛文旺

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值