The content of the canvas is rendered to a pixmap, before it gets painted to the widget. So as long as size and content of the plot canvas does not change you won't have any expensive operation regardless of the heaviness of your plot. Painting the canvas is done by QwtPlotCanvas::paintEvent.

Uwe