我看到关于 UnityEvent 是否实际上是慢的讨论很多,所以我决定自己进行benchmark。由于我正在构建一个完全替代 UnityEvent 的自定义事件系统,所以我将其包括在比较中,旁边是普通的 C# Actions。这些benchmark在 玩家构建中运行(不是Unity Editor),所以结果反映了运行时性能。对于 1000000 次调用,一项benchmark结果是: * C# Actions: ~1.06 ms * 我的自定义事件系统: ~4.10 ms * UnityEvent: ~12.63 ms 我还比较了 第一个调用: * C# Actions: ~0.0004 ms * 我的自定义事件系统: ~0.0024 ms * UnityEvent: ~0.0539 ms 这些数字来自一台测试机器。绝对的时钟数值根据硬件而变化,但 性能排名保持一致,从老式台式机CPU到 Ryzen 9 9950X以及甚至是移动设备: C# Actions → 我的自定义事件系统 → UnityEvent 如果有人对本次benchmark中使用的自定义事件系统感兴趣,可以查看Asset Store页面。我还希望听到关于其他benchmark场景或比较的建议。