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

本文关键字:变化 数字 wpf 显示 | 更新日期: 2023-09-27 18:04:42

可能吗?

我们的数据网格一直有一些性能问题,并尝试了许多技巧和技巧来改进它(例如这里和这里)。这些方法都没有多大作用。

我将问题简化为画布上的TextBlock的屏幕价值。即使这样也会导致帧率下降到1/秒以下,并占用整个cpu。此时,wpf性能监视器停止工作,但在较小的窗口大小下,布局和渲染大约是50/50分割。

有什么方法可以让wpf显示这种类型的数据,或者我们需要切换到更低的级别?这个WPFTextBenchmark似乎表明默认的wpf文本显示比其他方法慢得多。

编辑,附加信息:

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

回复评论编辑:

1)我们正在查看数百个单元格(大约一个屏幕的大小),许多单元格每秒更新多次,有些可能几分钟都没有变化。我们不关心更新速度更快,但是会被注意到(比如5/秒)。

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

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

您可能想看看除了绑定之外更新值的其他方法。绑定通常是缓慢的,最好将控件绑定到所有数据,让控件自己弄清楚如何获得它需要的实际值。

另一个想法是让整个事情数据驱动(数据更改-> UI更新),而不是UI驱动(UI每5秒刷新一次->从数据中提取最新的值)。这不是WPF中通常的操作方式,但它可以工作。