У меня есть кодовая база, которая строит много кривых, подобных области видимости, используя библиотеку QT.Мы пытаемся оптимизировать время работы этого приложения (потому что мы достигли стены при использовании процессора).После некоторого профилирования я обнаружил, что основной цикл построения данных вызывает эту функцию из библиотеки QWT:
void QwtPlotCurve::setSamples( const QVector<double> &xData, const QVector<double> &yData )
{
setData( new QwtPointArrayData( xData, yData ) );
}
Это делается каждые 100 мс.В результате каждые 100 мс происходит вызов new
для объекта QwtPointArrayData
, затем происходит вызов delete
для предыдущей версии объекта QwtPointArrayData
, для каждой кривой в каждой области.
Мой вопрос: есть ли лучший, более эффективный способ построения графика данных без перераспределения его при каждом обновлении?