Skip to main content

Unity Editor ProfilerRecorder 两层性能报告

基本信息​

字段值
日期2026-06-23
运行面Unity Editor PlayMode
Unity 版本2022.3.62f3
运行 IDfull-profiler-20260623-235558
前端 MRhttp://192.168.0.11/minigame/project2/merge_requests/922
前端 headaffb1f2ba381c89ec5c8b0bd38919a991724cfe9
状态hold

运行方式​

本次报告使用 Project2 Unity Editor 性能 harness 采集两层数据:

  • 第一层:运行时 frame samples,来自游戏循环和 Poco harness。
  • 第二层:Unity ProfilerRecorder counters,来自 Unity Profiler 内置 marker/counter。

执行命令:

python3 tools/project2_unity_editor_performance.py \
--output-root /Users/wjai/AutoDev/.local/logs/project2-unity-performance-profiler \
--run-id full-profiler-20260623-235558 \
--frontend-ref d17b407c-profiler-recorder-runtime-copy-on-522f1a150 \
--main-idle-seconds 60 \
--panel-idle-seconds 5 \
--final-idle-seconds 10 \
--pretty

运行时说明:fresh Unity batchmode 在隔离 worktree 上仍受当前 Codex 权限 profile 影响,Library/PackageCache 中 credential-named 文件恢复会被拒绝。因此本次真实 Unity 采集使用已打开且 Library 健康的 Unity Editor worktree,拷入 MR 中更新后的 PocoManager.cs 编译后执行。该限制属于本地执行环境问题,不作为 Project2 编译失败。

覆盖结果​

检查项结果说明
Click Start Gamepass成功点击开始游戏。
Confirm Startpass成功确认进入。
Reach Main UIpass主界面可见,识别到主 UI 文本。

面板探测​

面板结果点击目标识别 marker
任务passTMPText_Missionsbtn_Daily
背包failicon_Backpacknone
设置passicon_SettingsViewSetting(Clone)
召唤passbtn_zhaohuanViewLotteryHero(Clone)

第一层:Runtime Frame Samples​

指标值
sample count7903
frame time avg16.95304 ms
frame time p5016.6901665 ms
frame time p9017.613184 ms
frame time p9518.906599 ms
frame time p9922.1103439 ms
frame time max249.901962 ms
frames > 33ms22
frames > 50ms14
frames > 100ms4
FPS avg59.79984
FPS min4.00156927
FPS p1056.7756538
FPS p5059.91552

第二层:Unity ProfilerRecorder​

指标avgp95maxlast
main_thread_time_ms1.965620523.80198717249.7835853.51575
gc_allocated_in_frame_mb0.03535406660.007495884.245537760.0126190186
gc_used_memory_mb1326.112181426.839111485.343751387.01172
system_used_memory_mb3477.821533572.660643755.1923552.14488
total_used_memory_mb2044.205572177.0242268.839842130.75010
gfx_used_memory_mb288.4198305.333557331.2313305.33355
texture_memory_mb291.0306320.138855336.186768320.13887
mesh_memory_mb0.23852660.3608131410.3608131410.287361145
setpass_calls_count0.060103760.049.00.0
draw_calls_count0.1108439860.0117.00.0
triangles_count1.480703470.01515.00.0
vertices_count2.301910640.02363.00.0

ProfilerRecorder 有效计数器:18/20。

无效计数器:

keycounter状态
render_thread_time_msRender Threadinvalid_recorder
total_batches_countTotal Batches Countinvalid_recorder

发现的问题​

严重级别owner问题证据
P2frontend背包面板探测失败。点击 icon_Backpack 后未识别到目标 marker。
P2frontendUnity Editor run 出现超过 100ms 的帧尖峰。frames_over_100ms=4,最大帧耗时 249.901962ms。
P2frontend单帧 GC 分配峰值偏高。gc_allocated_in_frame_mb.max=4.24553776MB。

原始产物​

原始运行产物保留在本机运行目录:

/Users/wjai/AutoDev/.local/logs/project2-unity-performance-profiler/full-profiler-20260623-235558/

关键文件:

  • unity-performance.md
  • unity-performance.json
  • performance-samples.json
  • main-ui.jpg
  • panel-*.jpg
  • hierarchy-*.json

验证记录​

已执行:

PYTHONPYCACHEPREFIX=/private/tmp/project2-pycache python3 -m py_compile tools/project2_unity_editor_performance.py
python3 tools/project2_asset_guard.py --changed-only --pretty
git diff --check

Unity Editor PlayMode 采集完成后已退出 PlayMode。报告发现的问题未在本次检测任务中直接修复,后续应通过独立 MR 或 Plane follow-up 处理。