Qt 与Qwt相比,QCustomPlot有哪些优点/缺点?
我现在使用Qwt已经两年了。我喜欢它的面向对象类,这使得它很容易适应绘图和功能。 如今,QCustomPlot正变得越来越受欢迎,并与Qwt展开竞争。 当然,我确实比较了API。然而,我对两个图书馆的经验丰富的用户的证词感兴趣。什么方便?什么不可以?有什么陷阱吗?我不会说自己“有经验”,因为我只使用了几个月的Qwt,而使用了几个星期的QCustomPlot。尽管如此,我的印象是:Qt 与Qwt相比,QCustomPlot有哪些优点/缺点?,qt,plot,qwt,qcustomplot,Qt,Plot,Qwt,Qcustomplot,我现在使用Qwt已经两年了。我喜欢它的面向对象类,这使得它很容易适应绘图和功能。 如今,QCustomPlot正变得越来越受欢迎,并与Qwt展开竞争。 当然,我确实比较了API。然而,我对两个图书馆的经验丰富的用户的证词感兴趣。什么方便?什么不可以?有什么陷阱吗?我不会说自己“有经验”,因为我只使用了几个月的Qwt,而使用了几个星期的QCustomPlot。尽管如此,我的印象是: 目前,QCustomPlot的开发似乎更为积极。最后一次发布是在2012年8月(而Qwt的最后一次发布要追溯到20
- 目前,QCustomPlot的开发似乎更为积极。最后一次发布是在2012年8月(而Qwt的最后一次发布要追溯到2011年)。主观上,它的界面似乎更符合Qt框架
- 另一方面,Qwt似乎更成熟、更有特色。例如,当前版本的QCustomPlot无法直接设置轴矩形的颜色背景(仅支持将背景设置为用户提供的pixmap)。另一个例子-Qwt具有特殊的类和方法,以便于绘制和放大具有大量点的曲线。我在QCustomPlot里找不到这样的东西
EDIT2(2013年3月25日):Qwt分支5.*和6.*的最新版本于11月发布,这取消了QCustomplot“更积极开发”的优势,我无法比较这两个库,因为我只使用QCustomplot(现在一年),但我相信我的评论可能对其他库有用 QCustomPlot的优点:
- 在Gitorious上公开提供
- 愿意提供帮助的现有用户群(包括autor本人)
- 对LGPL许可的开放性(以我为例,作为捐赠的交换)
- 界面非常干净简洁
- 如果存在bug,很容易找到(我的bug修复很少超过一行)
- 易于扩展李>
- 非常容易从笛卡尔绘图库中破解任何你想破解的东西
- 良好的文件
- 以1.h和1.cpp文件的压缩形式提供-方便快速集成或专门构建的一个widgeters
- 非常好的性能(在我所有的用例中)
- 很明显,作者喜欢漂亮的代码,并且可以生成一个
- 经过深思熟虑的路线图(未来很长一段时间)
- 非常严格的笛卡尔(即:无饼图)
- 在我的例子中,我花了一些时间来掌握所有重要的东西(如果一个人喜欢实现与基础质量相当的扩展)
- 也许进化有点慢(就像许多其他的一个忙碌的人计划的那样)
- 仅在主线程中可用(例如,当您需要在多线程Web服务器中生成图片时,您需要在主线程中运行此库,无论这对您的实现意味着什么)
如果需要LGPL ish许可证,则可能没有免费选项(取决于作者的考虑)。考虑到图书馆的质量和可用性,我的公司为换取LGPL许可协议而提供的捐赠并不过分。在绘制大量点时。 用户将焦点集中到整个绘图上。ie(x、y轴被像素完全覆盖) (点数=以下计算) 拖动绘图时:
- Qwt的性能比QCustomPlot好得多
- QCustomPlot拖拽/重放的滞后时间远远超过Qwt,这对UI不利
- Qwt滞后可忽略且可接受
- Qwt需要较少的处理
此外,Qwt还提供可在外部管理的原始缓冲区选项。 我能够将(QcustomPlot)150Mb减少到40Mb以下。 保持 QCustomPlot强制用户将内存分配到X轴(errorbar+,errorbar-),y轴(errorbar+,errorbar-) (2*2*sizeof(double))在3*2*sizeof(double)中浪费内存 ie 48字节中的32字节是浪费(对于1个样本),其中,对于一个样本(对于x和y),仅Qwt需要16字节 afai了解,错误栏也可以在Qwt中实现
- 相等点数(96k采样数/秒*10秒缓冲=96*1000*10=~1M)
- QCustomPlot中禁用抗锯齿,Qwt中启用抗锯齿
- 同样的重绘算法。(以相同的时间间隔从设备中获取数据,并在之后重新触发)
注:
- Qwt成熟、高效
- QCustomPLot提供更好的外观和感觉。(略优于Qwt。)
- 为Qt5编译的Qwt 6.1.0
- 为Qt5编译的QCustomPLot 1.2.1
- Qt5.2.1
- Linux localhost.localdomain 3.13.11-100.fc19.x86_64#1 SMP周三4月23日20:10:57 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
- i3-3120M CPU@2.50GHz x 4