出来ますか?
私たちはデータグリッドでいくつかのパフォーマンスの問題を抱えており、それを改善するためのヒントやコツの多くを試しました(例:こことここ)。これらのどれも大きな違いはありませんでした。
TextBlock
問題をキャンバス上の画面に相当するものに減らしました。これでもフレームレートの低下は1/秒未満になり、CPU全体を消費します。この時点で、wpfパフォーマンスモニターは機能しなくなりますが、ウィンドウサイズが小さいため、レイアウトとレンダリングは約50/50に分割されます。
wpfにこの種のデータを表示させる方法はありますか、それともより低いレベルに切り替える必要がありますか?このWPFTextBenchmarkは、デフォルトのwpfテキスト表示が他のメソッドよりもはるかに遅いことを示唆しているようです。
編集、追加情報:
テキストボックスを使用したキャンバスの背後にある考え方は、1つのテキストブロックの位置が他のテキストブロックの影響を受けないため、レイアウト計算を減らすことです。
コメントに応じて編集します。
1)何百ものセル(約1画面分)を調べています。多くは1秒間に複数回更新され、一部は数分間変更されない場合があります。ただし、目立つ(たとえば5 /秒)より高速な更新は気にしません。
2)UIを更新するためにINotifyPropertyChangedとDataBindingsを使用しています。