服务共青 服务市民   新闻投稿 手机版! 注册! 登录
 
 
 
  忘记密码
 
 
 
 

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

有人点赞,已更新。~~~~~图形性能部分~~~~~Qt的widgets部分,运行时的图像渲染性能是一般的,因为大部分的界面内容都是Qt自绘,没有走硬件加速,也就是说很多图形内容都是CPU算出来的。但是widgets底层毕竟是C++,而且Qt的模块写的也不错,做过很多优化,这个渲染的性能在桌面上与有硬件加速的框架比差别不大,除非是有很多动画的复杂场景才能看出区别。不过在手机上或者嵌入式上,就会明显觉得widgets的渲染性能低了。那么怎么办呢,Qt是不会抱死在widgets一个框架上的。所以Qt推出了Quick和QML。Quick是可以走硬件加速,各个平台都可以,而且支持OpenGL或OpenES。图形渲染性能非常强悍。而且框架本身是类js的开发语言QML,开发效率也非常高。目前Qt正在开发Controls2.x,这是Quick中主要的控件库,比现在的1.x性能又是成倍的提升。有些人说Quick加载慢,我想说,把QML文件(包括Controls这些库级别的)直接编译进qrc文件,然后开QML编译器,加载速度66的。~~~~~网络性能部分~~~~~先说TCP部分的服务器,就是QTcpServer这个模块性能是不强悍的,甚至连中等性能水平都到达不了(C++)。这主要体现在两部分,第一是并发很低,这和Qt用的事件循环底层有关,超过800长链接就不稳定,超1000基本没法正常使用。第二是数据传输性能低,大约传输相等的数据量,比ASIO要多至少一倍CPU占用。但是毕竟是C++,性能相比其他语言还是可以的,开发小规模的服务器,是没问题的。再说说UDP服务器,就是QUdpSocket前段时间做一个项目,要求用UDP接收大量数据,是每包1400字节数据,每秒4w包,大约相当于500M的带宽。然后我先是用Qt做开发,然后各种丢包,最后简化到单独线程死循环接收,接收后甚至不做任何处理直接回去接收下一个包。这样,也只能每秒收7000个左右。额,这丢了80%多,亲,不给力啊。然后换了ASIO,也只能接到1.3w个,亲,还是不给力啊。后来换了WinPcap,轻松拿下4w个而且一个不丢,终于给力了。

上一篇:大禹治水的时候有没有龙的帮助应龙又是谁
下一篇:当孩子被抑郁折磨已久走了家长会为他感到解脱么_4
友情链接
 
时代网简介 |
广告服务 |
诚聘英才 |
保护隐私权 |
免责条款 |
法律顾问 | 网站地图
 
   
copyright 2006-2010 共青时代网 版权所有
   
   
赣ICP备06002174号 网络文化经营许可证号360400000336 网安备案号:WZ36040000142
     
   
经营性网站
备案信息
中国
互联网协会
网络110
报警服务
不良信息
举报中心