作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
有没有人试图找出 - control.BeginInvoke 或 SynchroniseContext.Post 哪个更快,哪个更高效(创建的对象更少,因此涉及的 GC 更少)?
WPF、C#、.NET 4
我希望得到有实际支持的回答,而不是“我认为”或“我在某处听说”。
干杯
附言我将向几个控件发布大量消息,我希望它最高效和快速(几百次更新/秒)。我知道 .NET 可以处理这个(我以前做过)但现在我希望它尽可能快...
最佳答案
首先,WPF 中没有 Control.BeginInvoke
(您想到的是 winforms)。其次,SynchronizationContext
是对当前平台提供的任何同步机制的抽象。对于 WPF,它是 Dispatcher
的抽象。从理论上讲,您为使用抽象而不是直接使用 Dispatcher
付出了很小的代价。但抽象是有充分理由的——有时您需要编写独立于平台的线程同步代码。如果您不这样做,请务必直接使用 Dispatcher
。
关于c# - 哪个更快更有效——begininvoke 还是 synchronisecontext.post?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8234251/
有没有人试图找出 - control.BeginInvoke 或 SynchroniseContext.Post 哪个更快,哪个更高效(创建的对象更少,因此涉及的 GC 更少)? WPF、C#、.NE
我是一名优秀的程序员,十分优秀!