Qt 框架哪些方面效率高,哪些方面效率低

Qt 框架哪些方面效率高,哪些方面效率低,第1张

Qt的网络模块性能比较差,而且难以提升,这是硬伤,除非Qt把现有的架构推倒重来。

此外,Qt的UI运行效率与wxWidgets,Windows的MFC,Linux的GTK+也都没法比。

主要原因之一是Qt的信号槽这个核心机制,给开发带来便利,但因此也丧失了一些性兄陪能。Qt的信号槽调用涉及链表 *** 作,事件处理,还包括迅尘核最伤性能的互斥锁,等等,相比直接回调方式。多出100多行代码,按官方说法,信号槽调用比直接回调慢了10倍左右。可是估计一旦遇到锁竞争,恐怕远远不只10倍了吧。Qt的UI与网络模块都严重依赖信号槽机制。

不过,相对于Java、C#之类,Qt毕竟是C++,运行效率自然要胜出很多。

Qt开发效率在C++库中绝对是高的,Qt自带的一套非常完备,应有尽有。

运行效率,在Qt中分为好几套图形系统,差不多代表了2D描画的发展史。最经典的软描画系统,性能只能说差强人意,而搭建在OpenGL上的新系统效率就高的多。而且,作为原生C++语言(QML除外),天亩掘生在性能上也有加成。

QT和MFC的优劣:

(1)开发速度

就整体而言,MFC可能会快捷睁敏一些,因为Windows平台的开发工具大多很智能,因为立足于Windows的开发人群很广,从菜鸟到专业人士(开发人员一多,技术参考就多,周围可以咨询问题的人就多)。

相比较而言,Qt基于Linux,可用的开发工具不多,而且这些工具大都比较专业,多是第三方的产品,加上这些工具的集成度不高灶早燃,支持的第三方库也没有支持MFC的第三方库多,因而从这一点看,MFC略胜一筹。

不过,Qt自从被诺基亚公司收购后,官方发布了跨平台集成开发环境Qt Creator,之后的走向就不好说了,作者个人的总体感觉是Qt Creator和VS差距比较大,还需要改进。

(2)运行效率

MFC采用浅层封装,运行效率比较高,加上VC对Windows进行了针对性的优化,因而整体性能是比较高的,但是如果加入第三方库就不敢保证整体的高性能了。

Qt库比较庞大,封装层次较深,所以运行效率比MFC低,但是在如今主流计算机系统的配置下,人们还会介意这点性能差别吗?

(3)应用范围

如今Windows的普及率无人能及,MFC的使用人隐虚数自然就多,相比而言,Qt主要是Linux下的开发人员在使用。MFC不支持嵌入式开发(主要是指手机平台)。

而Qt有对应的支持模块,虽然这一手机开发领域被Java碾压,但总归还是有Qt的使用空间。

(4)学习难度

Qt的封装方式比较明晰,和系统隔离得比较好,作者个人觉得学习的门槛不高。而MFC则较难精通,因为深入开发之后还需要了解SDK,否则开发出的程序比较初级。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/12385277.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存