繁体   English   中英

在WPF中显示大量快速变化的数字

[英]Displaying a large amount of rapidly changing numbers in wpf

可能吗?

我们的datagrid一直存在一些性能问题,并尝试了许多改进它的技巧(例如, herehere )。 这些都没有太大的不同。

我将问题简化为画布上屏幕的TextBlock值。 即使这样也会导致帧速率下降到不到1 /秒,并耗尽整个CPU。 此时, wpf性能监视器将停止运行,但是窗口尺寸较小时,布局和渲染的比例大约为50/50。

有什么方法可以让wpf显示此类数据,还是我们需要切换到较低级别? 这个WPFTextBenchmark似乎暗示默认的wpf文本显示比其他方法慢很多。

编辑,其他信息:

带文本框的画布背后的想法是减少布局计算,因为一个文本块的位置将不受其他文本块的影响。

编辑以回应评论:

1)我们正在查看数百个单元(大约相当于一个屏幕),许多单元每秒更新多次,有些可能会在几分钟内保持不变。 但是,我们并不关心更新速度会更快(例如5 /秒)。

2)我们使用INotifyPropertyChanged和DataBindings来更新UI。

您可能需要查看除绑定之外的其他更新值的方法。 绑定通常较慢,因此最好将控件绑定到所有数据,然后让控件确定如何获取所需的实际值。

另一个想法是代替整个数据驱动(数据更改-> UI更新),使其改为UI驱动(UI每5秒刷新一次->从数据中获取最新值)。 这不是在WPF中执行操作的常用方法,但是它可以工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM