C++ Builder XE4
Rad Studio 10.2 Tokyo Update 2 (追記: 2017/12/27)
TeeChartにおいてFastLineのプロットをするときにどのくらいのオーダーの数のプロットが可能なのか気になった。
調べたが、数の制限についての情報はうまく見つけられていない。
try1 > 1つのグラフで
試しに以下を実行してみた
void __fastcall TFormMain::Button1Click(TObject *Sender)
{
TDateTime dt;
dt = Now();
double val;
for(DWORD idx=0; idx < 200000; idx++) {
val = Random(500) - 250;
FastLineSeries1->AddXY(dt, val, "", clRed);
dt = IncSecond(dt, 1);
}
String msg = L"fin";
OutputDebugString(msg.c_str());
}
1回目のボタンクリック時はfinが帰ってきた。
2回目のボタンクリックでは処理が終了しない。
データ個数を20000にした場合は、多少時間はかかるが個々の処理が終了していく。
(10.2 Tokyo + Win 10 Proでも同じパフォーマンス)
データが大量にある場合は間引きをして表示するなりの対処をすればいいのだろう。
実際のところ、20万件のデータをそのままプロットする必要はないと思われる。
try2 > 複数のグラフで
(追記 2015/12/20)
1つのグラフのプロット上限がだいたい20万件だった。では、複数のグラフだと各グラフが20万件いけるのか?
実際試したところ、複数のグラフの場合は「全体のデータ数が20万件を超えた時」から動作があやしくなる。
例として、FastLineSeriesを6個を1つのグラフに用意し、そのグラフを8つ並べる場合、各
FastLineSeriesのデータ数を4000だと動くが、6000にすると処理が止まるようだ。
4000 * 6ライン * 8グラフ = 192000
6000 * 6ライン * 8グラフ = 288000
全体のデータ数を20万件以内に抑えるのが無難。
Windows 7 pro
1.5GB RAM
検索用キーワード
- TChart