Quote Originally Posted by lwz View Post
If one curve's about 300,000 samples, with 3,4 curves in a plot ...
There are several ways how to improve the performance for drawing of a curve, but before going into details you should have an idea about what is consuming the time in your plot. So try the following:

Qt Code:
  1. class YourCurve: public QwtPlotCurve
  2. {
  3. ....
  4.  
  5. virtual void drawSeries( QPainter *painter,
  6. const QwtScaleMap &xMap, const QwtScaleMap &yMap,
  7. const QRectF &canvasRect, int from, int to ) const
  8. {
  9. QElapsedTimer timer;
  10. timer.start();
  11.  
  12. QwtPlotCurve::drawSeries( painter, xMap, yMap, canvasRect, from, to );
  13.  
  14. qDebug() << "Elapsed: #" << to - from << timer.elapsed();
  15. }
  16. };
To copy to clipboard, switch view to plain text mode 
Then:
  • disable antialiasing
  • set "no symbols"
  • use a curve line width of 0


Now you will know if rendering of the curves is the main factor of the time used in a replot cycle.

Uwe