在WPF中设置绑定时,显式指定OneWay绑定是否有性能优势?

时间:2010-03-08 16:37:15

标签: wpf data-binding

我正在研究的一个项目正在遭遇一些轻微的性能问题。我们的团队正在进行许多小改进,以实现更大的性能提升。我们已经设法通过进行一些更明显的更改来帮助应用程序,我们已经研究了数据绑定以提供一些额外的改进。我知道默认绑定模式是TwoWay,但我们的大多数绑定都不需要TwoWay绑定。是否值得我们花时间明确指定模式为OneWay,我们已接受默认值?

1 个答案:

答案 0 :(得分:4)

对不起,第一个版本100%错误(谢谢,@ Jeffora)。我保留在这里,否则评论没有意义。

单向绑定不需要与源建立连接以侦听更改通知,因此它需要更少的内存,但就速度而言,我不认为存在差异。

第二版: OneWay和TwoWay绑定都订阅了更改源,以便更新目标属性。因此,性能上的差异是源属性的更新,这可能会产生影响,具体取决于更新发生时软件的其余部分。

如果性能至关重要且您的方案不需要目标更新,则可以选择使用OneTime绑定。

我利用这次更正的机会询问您是否对自己的应用进行了分析,以便找到热点。 80/20规则(或事件90/10)非常频繁,即少量代码占用了大部分时间。如果不了解它,优化工作可能会让你无法获得收益。