SuperAPI AI 工具集

ue5-performance-packaging

部署与运维

查看项目

更新于 10-16 02:24

技能介绍

用途

该技能用于 Unreal Engine 5.6 至 5.8 的性能与打包就绪工作流。当请求涉及 PIE 性能检查、运行时 stat 审查、打包前验证、构建配置校验等场景时使用。

主要能力

技能围绕性能与打包契约展开,要求每项任务明确:目标平台、构建配置与测试地图;可复现的采集场景(相机路径、时长、网络模式);基线指标与验收阈值;打包配置集合与依赖扫描范围;带明确阻塞项的 go/no-go 输出。若缺少任一项,就绪评估即视为不完整。

工作流包含六个步骤:

  1. 可复现基线采集:冻结测试地图、相机路径、可扩展性与网络模式,在同一场景下重复采集 stat unit 与 stat gpu,使用中位数或百分位指标而非单帧尖峰。
  2. 热点隔离:识别采集窗口内开销最高的玩法/渲染系统,将高开销 Actor/资产与场景上下文关联,必要时为自定义系统添加作用域 CPU 标记。
  3. 资产与依赖验证:扫描目标路径中缺失或损坏的资产引用,查询问题资产的依赖与引用者,验证所需地图/游戏模式资产已包含在打包范围内。
  4. 打包配置验证:检查 UProjectPackagingSettings 字段是否符合目标发布策略,验证 MapsToCook、DirectoriesToAlwaysCook 与构建配置,验证 Pak/IoStore/chunk 策略是否符合分发要求。
  5. 打包就绪试运行:运行打包前检查清单与干跑式验证,隔离首个阻塞性打包错误及其依赖链,记录未解决阻塞项及其负责人与风险。
  6. Go/No-Go 决策:仅当指标与打包检查均达到阈值时批准,报告剩余风险与建议缓解措施,锁定用于签核证据的场景与设置。

API 锚点(UE5.6-UE5.8)

运行时质量与帧预算锚点:UGameUserSettings::SetOverallScalabilityLevel(...)、UGameUserSettings::SetFrameRateLimit(...)、UGameUserSettings::ApplySettings(...)。

打包设置锚点:UProjectPackagingSettings、BuildConfiguration、MapsToCook、DirectoriesToAlwaysCook、UsePakFile、bUseIoStore、bGenerateChunks。

资产依赖验证锚点:FAssetRegistryModule、IAssetRegistry、GetAssetsByPath(...)、GetDependencies(...)、GetReferencers(...)。

性能分析插桩锚点:TRACE_CPUPROFILER_EVENT_SCOPE(...)、DECLARE_CYCLE_STAT(...)。

实用运行时 stat 命令:stat unit、stat gpu、stat scenerendering、memreport -full。

使用方式

快速开始:确认目标平台与构建配置;收集当前性能症状与打包目标;输出打包前检查清单加测量计划。

打包运维建议:发布构建优先使用显式地图/cook 列表而非隐式发现;打包前用 AssetRegistry 查询验证依赖;每个目标配置文件保持发布打包设置的唯一事实来源;在 UE5.8 中,将 Zenserver 的 cooked 输出视为迭代存储,仍保留 Pak/IoStore 暂存验证用于可分发构建;将 UE5.8 增量烹饪视为 beta 迭代路径,并保留干净/完整烹饪的发布检查;任何打包设置变更后重新运行就绪检查。

适用场景

适用于 UE5.6-UE5.8 项目的性能基线采集、热点定位、资产依赖校验、打包配置审查、打包就绪试运行与发布决策。

限制与约束

不得在没有可测量前后数据的情况下声称优化收益;保持性能分析场景可复现(地图、相机路径、网络模式);区分编辑器开销与打包后运行时行为;避免在未报告的情况下更改质量可扩展性设置;保持打包检查确定性,签核期间避免临时配置开关;始终报告指标单位(ms、fps、内存)与采集时长。

失败处理涵盖:性能数据跨运行噪声大、优化声明无法复现、打包构建因长错误级联失败、打包构建启动时缺失资产、打包构建性能劣于 PIE 基线、内容密集场景附近内存回退等情形,均给出定位与修复方向。

升级条件:当性能瓶颈需要引擎级性能分析或渲染器更改时升级;当打包问题源于第三方插件构建失败时升级。

兼容性说明

上述 UGameUserSettings、UProjectPackagingSettings 与 AssetRegistry API 在 UE5.6-UE5.8 中稳定。ProjectPackagingSettings.h 在 UE5.6-UE5.8 中位于 Developer/DeveloperToolSettings 下。UE5.8 在受支持的迭代工作流中默认启用 Zenserver 作为 cooked 输出存储,但这不替代发布容器验证。