1

最大 16 のトレースをプロットしており、それぞれに 300 のデータポイントがあり、100 ミリ秒ごとに 100 のデータポイントを継続的に更新しています。そのため、平均して 100 ミリ秒ごとに合計 1600 のデータポイントを更新しており、リアルタイムでプロットできるポイントの限界に達しています。プロット速度をさらに改善する方法はありますか、それともそのポイントの量は本当に JChart2D で達成できる限界に達しています。

注意として、JChart2D はリアルタイム アプリケーション用の JFreeChart として他のライブラリよりも優れています。JFreeChart は優れた機能を備えていますが、リアルタイムではかなり重いです。

データが追加されたことをswingワーカーに通知するたびに、私が実際に使用しているループは次のとおりです。

            for (int l = 0; l < readcycles; l++){   
                sixteenBitNumber = data[l];      
                for (int k = 0; k < (SampledSignalPerPacket); k+=ScreenPointJump){
                    for (int o = 0; o < root.getChildCount(); o++){
                        for (int p = 0; p < graphnodes[o].getChildCount(); p++){
                            if (seriesindex[o][p] > ScreenSize){
                                seriesindex[o][p] = 0;
                            }
                            datapoint = (float)(sixteenBitNumber[signalnodes[o][p].signalIndex + NbOfSampledSignal*k])*10/32767;                               
                            trace[o][p].addPoint(seriesindex[o][p], datapoint);
                            seriesindex[o][p] = seriesindex[o][p] + ScreenPointJump;//seriesindex[o][p]++;
                        }                               
                    }
                }   

            }

トレースは次のように初期化されています

public Trace2DLtd[][] trace =  new Trace2DLtd[4][4];
4

1 に答える 1