2011-03-14 25 views
0

適度な量の高速リフレッシュデータを処理し、データグリッドに表示するアプリケーションの作成に問題があります。現在Telerikのradgridview winformsコントロールを使用していますが、リフレッシュのパフォーマンスは非常にまともです。列の1つがソートされると、アプリケーションはほとんど使用できなくなります。私は200個以下のアイテムのように多くのデータを表示する必要はありませんが、頻繁に更新されます。半分ごとに更新されます。データは読み込み専用ですが、データグリッドを使用することをお勧めします。これは、ユーザーが並べ替えに使用する列と表示する列を簡単に選択できるようにするためです。高速ソートデータグリッドアプリケーション(デスクトップクライアント)を構築する必要があります

プロファイリングでは、並べ替えをオンにすると、何百回ものプロパティの変更のために何百万というオーダーのセルの再描画が作成されることが示されています。 CPUの大部分は、私が絵画のセルを扱うことを想定している様々なGDIの描画メソッドに縛られているようです。

この時点で、ハードウェアアクセラレーションを利用するWPFグリッドのホストから、別のグリッドの購入まで、ほとんどのものがテーブルにあります。誰かがこのようなアプリケーションを作成する経験やアドバイスを持っているなら、それはすばらしいでしょう。

答えて

0

具体的な経験はありませんが、一般的な質問:画面の再描画の頻度を制限できますか?プロパティが変更されるたびにすべてを再描画して再描画しているようです。

ソートと再描画の頻度を制御できない場合は、データの1つのコピーを最新の状態に保ち、Telerikプログラムが見るコピーを個別に作成することもできます。その後、一定間隔(毎秒など)でTelerikのコピーを更新します。これは、このプログラムの仕組みを知らなくても可能ですが、これは実現可能ですか?

+0

はい、私たちは、そのようなことが起こる頻度を制御することができます - 今は毎秒約2回に設定されています。しかし残念ながら、通常は行を変更すると描画が行われます。 – Egor

+0

プログラムが見るデータとは別にデータを保持し、それを再描画の間にコピーして、それを手助けすることができますか?または、それは不可能/有用ですか? – usul

+0

これはTelerikの仮想モードを使用して、実際にどのように処理したかです。 – Egor

関連する問題