【发布时间】:2019-08-17 10:57:12
【问题描述】:
我使用 teechart pro vcl 从输入数据中绘制图表。 我从 comport 读取数据并使用此代码向 TFastlineseries 添加点:
var
a : integer;
b : double;
-----------------------------
With Dbchart1.Series[0] Do
Begin
Series0.AddXY(a, b, '', clTeeColor);
end;
我有超过 100000 个点的非常简单的 2d 或有时 3d 彩色图形。但是在 20000 点之后,渲染变得非常缓慢,并且在某些地方它会停止。 我能做些什么!?有什么算法可以改善这种情况吗?
【问题讨论】:
-
您可以问自己屏幕或打印输出的分辨率是多少。然后问自己为什么要绘制 100.000 甚至“仅”20.000 个点。
-
也许您可以将值分组为 200 或 500 组,然后为每个这样的组计算平均值并绘制它们。
-
实际上在第一个(在硬件中)计算的平均值和这些数据是结果。所有这些点都很重要,我们不能减少它。我们需要将所有积分保存在数据库中,但实时显示可能需要同时保存 300 个积分。我想要像心电图这样的东西来显示随时间变化的图表。
-
您应该编辑您的问题(使用 q 标签下的“编辑”按钮)并添加该信息。向数据库添加数据当然是一项任务并显示另一项任务。所以,如果我理解的话,你想要一个大约 300 点的图表,它应该不断滚动(或者你的意思是扫描)。我不知道如何使用
TeeChart做到这一点,但也许其他人可以插话。但重要的是你编辑你的问题! -
还指出新值的输入速度(速度)。