Hi friends,
My problem:
1) Draw a spectrogram for too big quantity data.
2) Initial window size(resolution) is fixed.
2) The actual window size would be growing continuously along x-axis.
3) The New data will be available at certain intervals of time say for every one minute.
4) meanwhile some curves have to be drawn over this spectrogram.
My idea is :
1) Render the spectrogram for the only available window at a time.
2) When a new data comes, render only new data image, as we have already rendered the previous data.
The idea sounds cool (?) I started implementing same,
1) I started a QTimer and set the interval as per the need.
2) call QwtPlotSpectrogram::setData(QwtRasterData());
3) while setting the new data in the timeout event, I would consider
both previous data and the new data at that interval.
3) This works fine initially, but later when the data becomes too much, performance sucks
That is because
1) Each time I call QwtPlotSpectrogram::setData(), it will re-render the complete image for the time(0) till the current time. that means
2) If I render the data for two hours the complete two hours data has to be re-rendered every time I (re) set the new data.
MyQuestion:
1) Is there a way in QwtPlotSpectrogram to improve the performance by rendering only the new data to end of the previous image?
2) Is there any other idea to solve the original problem?
I saw the realtime_plot example but it renders a curve incrementally, but in this case it is a spectrogram, so it wont apply here
somebody (Uwe: you would know it better), please reply?
Bookmarks