LINUX.ORG.RU

[qt][qwt] перерисовка

 ,


0

0

Данных много, график обновляется раз в секунду (поступают новые данные). Если не сглаживать (т.е. по огромному входному массиву точек генерировать маленький с усредененными значениями), график получается дико лохматый и проц сжирается. Как я понял, в qwt для этого сглаживания есть qwtfitter. При создании графика делаю так:

QwtPlotCurve *curve=new QwtPlotCurve("Some curve");
curve->setStyle(QwtPlotCurve::Lines);
curve->setCurveAttribute(QwtPlotCurve::Fitted);
QwtSplineCurveFitter *fitter=new QwtSplineCurveFitter;
fitter->setFitMode(QwtSplineCurveFitter::Spline);
curve->setCurveFitter(fitter);
curve->attach(someplot);

Если огричиться лишь:
curve->setStyle(QwtPlotCurve::Lines);
curve->setCurveAttribute(QwtPlotCurve::Fitted);
, то рисуются наркоманские грибы.

Данные устанавливаю так:
setRawData(double const*,double const*,int);

После первого рисования график выглядит красиво. После перерисовки (т.е. очередного setRawData и replot) он становится похожим на ежика и сжирает процессор.

Пробовал различные комбинации установки сглаживания перед и до каждым setRawData, результата нет.

Заранее благодарю.

★★★★★

Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.