【发布时间】:2019-07-26 09:34:30
【问题描述】:
我有一个代码库,可以使用 QT 库绘制许多类似范围的曲线。我们正在尝试优化此应用程序的运行时间(因为我们在 CPU 使用率方面遇到了瓶颈)。经过一些分析后,我发现主数据绘图循环从 QWT 库中调用了这个函数:
void QwtPlotCurve::setSamples( const QVector<double> &xData, const QVector<double> &yData )
{
setData( new QwtPointArrayData( xData, yData ) );
}
每 100 毫秒执行一次。因此,每 100 毫秒有一个 new 调用 QwtPointArrayData 对象,然后有一个 delete 调用之前版本的 QwtPointArrayData 对象,每个范围内的每条曲线。
我的问题是:有没有更好更有效的方法来绘制数据,而无需在每次更新时重新分配数据?
【问题讨论】: