This is how my graph should work:
My graph shows realtime the data collected from a plc. The plc generates a sample for the graph every 500ms (the graph redraws every 1000ms)
the graph is auto scaling in x and y direction

The problem:
the job that the plc needs to complete can take several days, so it is collecting a lot of data. when the data pool is getting large the pc can't cope redrawing the graph so the HMI stops responding (and then can't keep the connection between the pc and plc alive)

What I tried:
(disabled all the nice effects like antialliassing)
1. applying a curve fitter on the qwtcurve, but this still took a lot of time (tried both of the fitters)
2. using an unfitted buffer and fit it every 20 sec and replace the data in the graph with the fitted data. during the 20 seconds (when the data is not getting fitted) the new data is added to both the unfitted buffer and the graph (so it still gets updated every second). The fitting was done by QwtWeedingCurveFitter but this fitter is realy slow at large data sets (takes about 2.5sec for a set of 100K and i got three sets of 100K)
3. the same as point 2 but using the QwtSplineCurveFitter, this one is fast but it changes the graph too much

Is there anyone who can help me