0

Media Element と WPF TeeChart (by Steema) を使用して、WPF で作業しています。これらは両方とも表示され、同時に更新されます。ビデオの再生中、グラフは定期的に更新され、ビデオの現在の場所に関連するデータが表示されます。

問題は、TeeChart の更新に時間がかかり、ビデオがブロックされて再生がぎくしゃくすることです。

これに対する解決策を見つけるためにマルチスレッドを少し試してみましたが、これまでのところうまくいきませんでした。ビデオまたはチャートのどちらがいつ更新されるかを指示することはできません。実際、WPF 要素が常に一緒に描画されるように WPF が動作していると思われます。

この問題を解決するために私にできることを誰か考えてもらえますか? 現時点では、これらの要素の 1 つまたは両方を Win32 の同等のものに置き換えて適切にホストすることしか考えられませんが、多くの理由から、これは最後の手段として残しています。

4

1 に答える 1

1

その問題をまだ解決していない場合や今後の参考のために、こちらの「リアルタイム チャート」の記事で説明されているように、TeeChart のパフォーマンスを最適化できます。

http://www.teechart.net/reference/articles/index.php

これは TeeChart VCL の記事ですが、そのほとんどは TeeChart for .NET にも当てはまります。

また、TeeChart for .NET はスレッド セーフではないことに注意してください。チャート自体を描画するのに十分な時間を与える必要があります。スリープ コールを使用してこれを実行し、グラフの描画が所定の時間内に終了するようにするか、AutoRepaint プロパティを使用して非同期描画手法を使用できます。次に例を示します。

tChart1.AutoRepaint = false;
Random r = new Random();
for(int i = 0; i <500; i++)
{
      tChart1[0].Add (i,r.Next(800),Color.Blue);
}
tChart1.AutoRepaint = true;
tChart1.Refresh(); 
于 2009-11-27T15:31:40.443 に答える