wince下QT效率及拔卡异常处理问题
夜深了,可问题一直没解决,难于入眠!借CSDN宝地寻高人求帮助!
运行环境:wince6.0系统,CPU:主频大概500M,如sirfA5; 内存:128M
开发环境:VS2005+QT4.8.3
应用场景:wince车载GPS等
项目初期,虽然考虑过QT的效率问题,但不够充分;现在项目功能基本实现,但效率问题成了最大的难题。
问题:
(1)编译的QT程序启动慢,建立一个QT的wince工程,编译后运行,启动需要2秒。
比如:在另一个程序中启动此QT程序,从CreateProcess到QT的main开始执行,需要大概2秒;对比普通的windows程序慢太多了;
(2)绘图效率远远没有windows编程中直接操作DC快,我在完成一个手写板功能时,一直受到此画图效率的困扰。百度出来的答案是QT的绘图机制限制。
(3)程序放在SD卡运行后,拔卡,收到wince的WM_DEVICECHANGE 消息并处理时,无法正常退出。一般的windows程序可以做到。
欢迎讨论!
楼主辛苦了 不过不是很感兴趣。。。
[解决办法]
没做安装程序吗?在安装程序里就可以把dll copy到系统目录+启动辅助程序了
这样做商业程序似乎比较正规
1,
2,
修改configure参数+makefile就可以实现
注意这样就不是LGPL授权了。
图片资源在编译时就变成static的char数组,自然释放不了,需要直接把图片文件随exe发布,然后通过文件路径动态载入才行。
[解决办法]
QT FOR WINCE 本来就支持的不是很好,启动速度方面,确定比较慢,2-3秒算快的了,如果是比较大的QML工程,10秒都不一定能起来,运行效率方面,也是比QT FOR EM LINUX慢了不少,不过还是有比较大的优化空间的,特别是自绘QWIDGET,真心慢,不过官方有针对性能的教程文档,以及测试代码,很有参考意义,从测试代码可以明显看到,不同的代码结构,实现方式,图形加速系统,能极大的影响绘图效率。静态和DLL的版本,我都试过,但是没有仔细测试过,区别应该不大。总之,QT FOR WINCE本身还是可行的,只不过需要使用的时候,在细节,特别是细节方面,做优化。
[解决办法]
提一个傻傻的建议:
如果你的程序已经基于Qt开发完成,考虑到其跨平台特性,直接转到Linux式的嵌入平台不行么?
当然,对于底层设备的调用不知道是否也都必须是wince的,若是,就是有些麻烦了。
[解决办法]