0

Visual Studio Express [C#] でアプリケーションを作成しています。12 個の ColorGrid [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 個のグラフを 6 x 2 の「サブプロット」グラフとしてプロットすることにより、12 個のグラフを 1 つの大きなグラフに結合しようとしましたが、パフォーマンスの違いはわずかでした。

10 + fpsを取得する方法はありますか:

12 個の個別の [128 x 128] グラフ、または 1 つの [128*6 x 128*2] グラフのいずれか???

不明な点がありましたら、お知らせください:-)

ありがとうございました

JD

4

1 に答える 1

1

ColorGrid の描画時間を改善することは、Steema のウィッシュ リスト (TF02016286) に既に記載されている機能要求です。

また、一般に、描画するグラフのポイントや要素 (グリッド線、グラデーションなど) が多いほど、グラフの描画に必要な時間が長くなることにも注意してください。そのため、必要なポイントまで改善できるかどうかはわかりません。

あなたの例に実装されていないヒントは、ColorGrid Pen を非表示にすることです。これにより、パフォーマンスが少し向上します。

ColorGrid.Pen.Visible = false;

また、 とは、シリーズの値を変更した後と一緒にではなく、それぞれシリーズをクリアして再設定する前後に呼び出されると考えられていることに注意ColorGrid.BeginUpdate()してください。ColorGrid.EndUpdate()

于 2013-01-16T15:10:48.140 に答える