TeeChart Colorgrid具有大量数据点的性能

时间:2013-01-15 11:50:44

标签: c# .net teechart

我正在使用Visual Studio Express [C#]编写应用程序,我需要同时实时显示12个ColorGrids [128 x 128]。

这是我设置图表的方式:

        tChart1.Aspect.View3D = false;
        tChart1.Aspect.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighSpeed;
        tChart1.Legend.Visible = false;
        tChart1.Axes.Bottom.Title.Text = "R";
        tChart1.Axes.Bottom.SetMinMax(0, 127);
        tChart1.Axes.Bottom.Increment = 20;
        tChart1.Axes.Left.Title.Text = "D";
        tChart1.Axes.Left.SetMinMax(0, 127);

然后我像这样初始化ColorGrid:

        for (int d = 0; d < 128; d++)
        {
            for (int r = 0; r < 128; r++)
            {
                ColorGrid.Add(r, 0, d);
            }
        }

然后,实时,我所做的就是在一些for循环中更新YValues,它涵盖了完整的128 x 128范围:

        ColorGrid.YValues[index] = value;

在for循环之后,我打电话给:

        ColorGrid.BeginUpdate();
        ColorGrid.EndUpdate();

我目前有12个TChart控件,它们一起显示在Form上。

我还尝试将12个图表组合成一个大图表,将12个图表绘制为6 x 2“子图”图表,并且只产生了很小的性能差异。

有没有办法获得10 + fps:

12个单独的[128 x 128]图表,或者一个[128 * 6 x 128 * 2]图表???

如果我遗漏任何不清楚的地方,请告诉我: - )

谢谢

JD

1 个答案:

答案 0 :(得分:1)

改善ColorGrid绘图时间是Steema的愿望清单(TF02016286)中已有的功能请求。

另请注意,通常,随着要绘制的图表的更多点和元素(网格线,渐变等),绘制图表需要更多时间。所以我不确定它是否可以改进到你需要的程度。

我在示例中看不到的提示是隐藏ColorGrid笔。这提高了性能:

ColorGrid.Pen.Visible = false;

另请注意,ColorGrid.BeginUpdate()ColorGrid.EndUpdate()被认为分别在清算和重新填充系列之前和之后调用,而不是在修改系列值之后同时调用。