3

.NET 4 WPF DataGrid を使用していますが、多数の列を使用すると垂直スクロールのパフォーマンスが低下することに気付きました。これをテストするために私がしたことは次のとおりです。

  1. 仮想化を有効にする (VirtualizingStackPanel.IsVirtualizing="True" VirtualizingStackPanel.VirtualizationMode="Recycling")
  2. シンプルなグリッド レイアウトに DataGrid を埋め込みます。このウィンドウには他のコントロールはありません。
  3. 列にはカスタム書式設定や画像はなく、単純なテキストのみです
  4. 私はかなり良いコンピューターで実行しています。クアッド コア 3.2gz、8 GB RAM および radeon 7800 シリーズ カードの win7 (64 ビット)
  5. Perforator を使用したテストでは、ソフトウェア レンダリングなどの悪い点は見られません。

以下にいくつかの結果を示します。

  • 100行×5列:スムーズスクロール
  • 10万行×5列:スムーズスクロール
  • 100 行 x 75 列 : スクロールのパフォーマンスが非常に低い
  • 10万行×75列:完全凍結

多数の列 (~75 ~ 100) がある場合に垂直スクロールのパフォーマンスを向上させるにはどうすればよいですか?

ありがとう

4

1 に答える 1

5

次の 2 つの非常に重要なプロパティがありません。

両方を有効にして、違いがあるかどうかを確認してください。それは役立つはずです。

約 2,500 行の約 20 列があり、パフォーマンスの問題は見られませんが、75 列は確かに多いようです。ヘッダーに右クリックの有効/無効列を追加して調査することをお勧めします (Excel と同様)。

于 2012-07-08T00:39:08.493 に答える