Qt 框架哪些方面效率高,哪些方面效率低
答案:1 悬赏:50 手机版
解决时间 2021-01-12 09:37
- 提问者网友:我的未来我做主
- 2021-01-12 05:41
Qt 框架哪些方面效率高,哪些方面效率低
最佳答案
- 五星知识达人网友:傲气稳了全场
- 2021-01-12 06:27
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的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除外),天生在性能上也有加成。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯