大量のデータをMSChartを使用して表示するときの描画時間が遅い
C#のFormアプリケーションで5000ほどのデータをChartで描画すると重い時と重くない時があったので忘備録として記述
AddXY()を利用して面グラフと折れ線グラフの2種類のデータを描画していた。
5000のデータを描画するとものすごい遅い。開発用のPCだと実は軽かったが、テスト用のウルトラモバイルPC等で描画すると10分ぐらい描画が止まる。
UIスレッドのReflesh()自体に相当負荷がかかるみたいで使いものにならない。
また、マウスオーバーで出現するツールチップを入れているとものすごく重い。
原因
原因は面グラフとツールチップ。2つが組み合わさる場合の面グラフの描画がものすごく重い。折れ線グラフの7倍ほどだった。
以下秒数
面グラフ
1.2 sec
折れ線グラフ
0.17 sec
ツールチップがない場合
面グラフ
0.0220167 sec