可能吗?
我们的数据网格一直存在一些性能问题,并且已经尝试了许多改进它的技巧和窍门(例如这里和这里)。这些都没有太大的不同。
TextBlock
我将问题简化为画布上屏幕的 s 值。即使这样也会导致帧率下降到低于 1/sec 并吃掉整个 cpu。此时wpf 性能监视器停止运行,但由于窗口尺寸较小,布局和渲染被分割为大约 50/50。
有什么方法可以让 wpf 显示这种数据,还是我们需要切换到较低级别的东西?这个WPFTextBenchmark似乎表明默认的 wpf 文本显示比其他方法慢很多。
编辑,附加信息:
带有文本框的画布背后的想法是减少布局计算,因为一个文本块的位置将不受其他文本块的影响。
根据评论进行编辑:
1)我们正在查看数百个单元格(大约一个屏幕的价值),许多单元每秒更新多次,有些可能在几分钟内保持不变。但是,我们不关心更快速的更新(例如 5/秒)。
2) 我们使用 INotifyPropertyChanged 和 DataBindings 来更新 UI。