You should setup the history buffer truncation to hold no more than a couple of screens of data.
If you are displaying 15 seconds worth of data at 10 ms/sample, you can truncate the data once you get more 30 seconds worth of data in the buffer. Truncate the data so there are still enough data points to fill the entire scroll frame. In the example below the dataset is auto-truncated when the number of data points reaches 4500. It is truncated to 3000 data points.
Use the RTProcessVar AutoTruncateDataset, AutoTruncateMinCount, and AutoTruncateMaxCount properties. When the scroll buffer reaches the AutoTruncateMaxCount value, it deletes the oldest data points until there are only AutoTruncateMinCount values in the buffer.
For example:
RTProcessVar EngineRPM1 = new RTProcessVar("RPM", defaultattrib);
.
.
.
EngineCylinders1.AutoTruncateDataset = true;
EngineCylinders1.AutoTruncateMinCount = 3000;
EngineCylinders1.AutoTruncateMaxCount = 4500;
Once you set these properties, you don't have to do anything else, the data will be truncated automatically.
Also, to maximize update speed, set the FastClipMode property to ChartObj.FASTCLIP_X for each line plot you are displaying. From the Dynamometer example program:
for (int i=0; i < 4; i++)
{
SimpleLinePlot lineplot = new SimpleLinePlot(pTransform1, null, attribarray[i]);
lineplot.FastClipMode = ChartObj.FASTCLIP_X;
rtLinePlotArray1[i] = new RTSimpleSingleValuePlot(pTransform1,lineplot, EngineCylinderTemp1[i]);
chartVu.AddChartObject(rtLinePlotArray1[i]);
}