我正在用 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);
}
}
然后,我所做的只是在一些覆盖整个 128 x 128 范围的 for 循环中实时更新 YValues:
ColorGrid.YValues[index] = value;
在 for 循环之后,我调用:
ColorGrid.BeginUpdate();
ColorGrid.EndUpdate();
我目前有 12 个 TChart 控件,它们一起显示在一个窗体上。
我还尝试将 12 个图表组合成一个大图表,将 12 个图表绘制为 6 x 2 “子图”图表,这只会产生很小的性能差异。
有没有办法通过以下方式获得 10+fps:
要么是 12 个单独的 [128 x 128] 图,要么是一个 [128*6 x 128*2] 图???
如果我有任何不清楚的地方,请告诉我:-)
谢谢
京东