maxPoint =50 точек. Я даже сделал так, чтобы после 50 точек программа перезаписывала точки. int QXYSeries::count() const показывает 50 но память все жрет и через 5 мин программу жутко тормозит.
bool ChartMonitoring::setData(QString name, float data)
{
QDateTime minX = axisXX->min();
QDateTime maxX = axisXX->max();
qreal minY = axisYY.value(name)->min();
qreal maxY = axisYY.value(name)->max();
QDateTime x = QDateTime::currentDateTime();
qreal y = data;
QPointF pointer;
if(point.value(name)==maxPoint) {
reng = maxX.toMSecsSinceEpoch()-minX.toMSecsSinceEpoch();
//qDebug() <<reng;
}
if(point.value(name)>=maxPoint) {
timeRenge.setMSecsSinceEpoch(x.toMSecsSinceEpoch()-reng);
axisXX->setRange(timeRenge, x>maxX ? x : maxX);
for(int i=0; i<maxPoint-1; i++){
pointer = serias.value(name)->at(i+1);
serias.value(name)->replace(i, pointer);
}
pointer.setX(x.toMSecsSinceEpoch());
pointer.setY(y);
serias.value(name)->replace(maxPoint-1, pointer);
}
else {
axisXX->setRange(minX, x>maxX ? x : maxX);
serias.value(name)->append(x.toMSecsSinceEpoch(), y);
point[name]++;
}
qDebug() << serias.value(name)->count();
}