加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

函数调用和C#中的事件之间是否存在性能差异?

发布时间:2020-12-15 04:07:50 所属栏目:百科 来源:网络整理
导读:我会试着澄清我的问题: 我有一个名为Draw的函数(有人(XNA)每秒调用她60次), 我有很多要绘制的对象,所以我有以下代码: void Draw() { obj1.draw(); obj2.draw(); obj3.draw(); …. } 是否会产生性能影响,如果我将创建一个事件,将由Draw()引发,并且所有对象
我会试着澄清我的问题:

我有一个名为Draw的函数(有人(XNA)每秒调用她60次),
我有很多要绘制的对象,所以我有以下代码:
void Draw()
{
obj1.draw();
obj2.draw();
obj3.draw();
….
}

是否会产生性能影响,如果我将创建一个事件,将由Draw()引发,并且所有对象都会注册该事件?

如果我不清楚我问的是:
通过注册活动来呼叫功能是否与常规呼叫不同?

解决方法

关于性能,我认为 Jon Skeet’s example非常有说服力,代表们不会给性能增加任何重大开销,甚至可能会改进它.

您需要考虑事件/委托的一个因素是处理侦听事件的取消对象或您的引用计数将无法正确重置,您会发现自己有内存泄漏.避免使用匿名方法,除非您准备存储对它们的引用,以便它们可以在Dispose等上取消连接.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读