This is the least data enough to paint screen height curves, one curve's data would be 1000,000.
Before you wrote about 10000 samples each curve, what is 80K only ( when using floats ) for each curve ?
Our software memory consumption is limited to 300 MB.
Where is this limitation coming from: are you on an embedded device or is it just that you don't want to ?
If it is not a physical one you can and have to decide: performance vs. memory.
I can't tell you what piece of information is important and how to reduce the amount of data in your case - but the idea should be understood.
We never think about changing the data structure, what 's your data structure in your software , do you mind giving a little more tips?
The message is: design your data structure according to the characteristics of your data.
F.e. if your curve is value vs. time and the timestamps are every 100ms:
class Data: public QwtSeriesData<QPointF>
{
public:
...
virtual size_t size() const
{
return m_values.size();
}
virtual QPointF sample
( size_t index
) const {
return QPointF( index
* 100, m_values
[index
] );
}
private:
QVector<float> m_values;
};
class Data: public QwtSeriesData<QPointF>
{
public:
...
virtual size_t size() const
{
return m_values.size();
}
virtual QPointF sample( size_t index ) const
{
return QPointF( index * 100, m_values[index] );
}
private:
QVector<float> m_values;
};
To copy to clipboard, switch view to plain text mode
Bookmarks