Hello,
I'm working on an application which uses qwt library to implement an oscilloscope like interface.
The guy that developed the plots management part before I inherited it used an implementation based on QwtPlotCurve::setRawSamples method.
The interface features the possibility to switch between two plot tabs, one (1) in which only the last trace is plotted and one (2) in which the last 10 traces are plotted overlapped.

When I switch from tab (1) to tab (2) the CPU usage increases by several times and it seems to increase with the number of points plotted, for example if I increase the width of the time window.
This is true even when the data acquisition logic is paused, so the CPU seems to be used just to keep the curves plotted on the screen: if I go back to tab (1) CPU usage goes down, then up again if I switch to tab (2), while no new data is added.

So my questions:
1) Is this possible or am I necessarily missing some thread which is regularly calling QwtPlot::replot or something similar?
2) In case the CPU is really used just to keep the curves on screen (acquisition paused), is QwtPlotDirectPainter::drawSeries like in the oscilloscope example worth giving a try to reduce the CPU usage?
3) Is there something else I could do?

I'm not posting source code because the project is pretty big and I haven't got acquainted completely with it yet so it would take a while to extract the part related to plot managements, but if it is necessary to come to a conclusion I'll try to do that.

Best regards,

Filippo