测量 Unity 事件派发开销
给高频事件挂上实际使用的监听器后再测量,分别查看类型化派发、条件求值和回调,才能定位帧耗时或内存分配的来源,AOT 构建中的序列化条件使用烘焙生成的求值器
在代表性场景中测量事件派发
在 Play Mode 打开 Game Event Monitor 的 Performance 页签,找出频繁触发的事件,再用项目实际设置构建目标平台 Player,并用 Unity Profiler 复现同一段操作,检查帧耗时和托管内存分配

保持参数和监听器数量一致,分别测量完整回调和只有派发的情况,首次调用可能包含初始化开销,应与后续调用分开记录,如果主要耗时来自回调,先在 Profiler 中查看具体方法
检查条件求值

上图的条件树用 AND 和 OR 组合检查,AND 遇到第一个不通过的分支就停止,OR 遇到第一个通过的分支就停止,把开销低且容易决定结果的条件放在前面,条件读取的属性应避免改变游戏状态
Mono 可以把条件编译成委托,IL2CPP 对已烘焙的序列化条件使用生成的 AOT 求值器,修改条件后重新执行 Bake AOT Conditions,再单独检查 Player 构建中的表现
运行压力测试场景
打开 14_RuntimeMonitor 复现频繁派发,在监控窗口中定位具体事件和监听活动,再用 Unity Profiler 确认内存分配和 CPU 开销,实际结果取决于平台、脚本后端、条件配置和回调内容

