找回密码
 立即注册
收起左侧

关于qt arm的启动时间久

11
回复
11352
查看
[复制链接]
累计签到:103 天
连续签到:1 天
来源: 2017-3-21 19:07:54 显示全部楼层 |阅读模式
5Qter豆
大家谁能给我个思路,我qt4写的程序放在板子上运行,可是从他-qws启动开始到splashscreen显示。需要30s的时间,这时间太久了,请问我怎么才能缩短点呢,我用的4.8.5。交叉编译出来的库有将近20M

回复

使用道具 举报

尚未签到

2017-3-21 20:03:14 显示全部楼层
能不能不把所有东西一开始都塞内存呢

点评

我现在的qt应用程序起来之后差不多需要30M的内存,事实上已经太大了,我要怎么修改呢,一个是启动时间久,我想如果能降低到10S应该还可以接受,还有就内存占用问题,您给我点建议吧  详情 回复 发表于 2017-3-27 11:30
回复

使用道具 举报

累计签到:103 天
连续签到:1 天
2017-3-27 11:30:42 显示全部楼层
Joey_Chan 发表于 2017-3-21 20:03
能不能不把所有东西一开始都塞内存呢

我现在的qt应用程序起来之后差不多需要30M的内存,事实上已经太大了,我要怎么修改呢,一个是启动时间久,我想如果能降低到10S应该还可以接受,还有就内存占用问题,您给我点建议吧
回复

使用道具 举报

尚未签到

2017-3-27 22:54:45 显示全部楼层
模块的话就很难不去加载了,但可以试试在你的代码里面用排除法来看看哪些部分占用的时间多,然后再想办法去避开

点评

那我具体要怎么排除呢,还得请您说的详细点,是这样,我用putty串口打印每一过程的启动时间,我说的qt启动需要的30S过程就是-qws 之后,一直就是没有信息打印,直到splahscreen起来,这个要怎么查?  详情 回复 发表于 2017-3-28 08:44
回复

使用道具 举报

累计签到:103 天
连续签到:1 天
2017-3-28 08:44:07 显示全部楼层
本帖最后由 冷月有情 于 2017-3-28 08:59 编辑
Joey_Chan 发表于 2017-3-27 22:54
模块的话就很难不去加载了,但可以试试在你的代码里面用排除法来看看哪些部分占用的时间多,然后再想办法去 ...

那我具体要怎么排除呢,还得请您说的详细点,是这样,我用putty串口打印每一过程的启动时间,我说的qt启动需要的30S过程就是-qws 之后,一直就是没有信息打印,直到splahscreen起来,这个要怎么查?就感觉它还没进到main.c中呢
回复

使用道具 举报

尚未签到

2017-3-28 20:35:30 显示全部楼层
冷月有情 发表于 2017-3-28 08:44
那我具体要怎么排除呢,还得请您说的详细点,是这样,我用putty串口打印每一过程的启动时间,我说的qt启动 ...

那你开个top来看看内存的变化吧

点评

Mem: 46844K used, 9040K free, 0K shrd, 2036K buff, 26804K cached CPU: 0% usr 12% sys 0% nic 86% idle 0% io 0% irq 0% sirq Load average: 0.06 0.15 0.16 1/45 2874 PID PPID USER STAT  详情 回复 发表于 2017-3-29 13:38
回复

使用道具 举报

累计签到:103 天
连续签到:1 天
2017-3-29 13:38:50 显示全部楼层
Joey_Chan 发表于 2017-3-28 20:35
那你开个top来看看内存的变化吧

Mem: 46844K used, 9040K free, 0K shrd, 2036K buff, 26804K cached
CPU:   0% usr  12% sys   0% nic  86% idle   0% io   0% irq   0% sirq
Load average: 0.06 0.15 0.16 1/45 2874
  PID  PPID USER     STAT   VSZ %MEM %CPU COMMAND
  336     2 root     SW       0   0%  10% [w55fa92-spi.1]
2758  2208 root     R      604   1%   1% top
1342     1 root     S      660   1%   0% ./wpa_supplicant -c /tmp/wpa.conf -iwlan0 -Dwext
1334     2 root     SW       0   0%   0% [RTW_CMD_THREAD]
  773   769 root     S    38516  69%   0% ./SmartAlbums -qws -nomouse -display transformed:rot270
  784   782 root     S    38516  69%   0% ./SmartAlbums -qws -nomouse -display transformed:rot270
  787   782 root     S    38516  69%   0% ./SmartAlbums -qws -nomouse -display transformed:rot270
  868   782 root     S    38516  69%   0% ./SmartAlbums -qws -nomouse -display transformed:rot270
  785   782 root     S    38516  69%   0% ./SmartAlbums -qws -nomouse -display transformed:rot270
1496   782 root     S    38516  69%   0% ./SmartAlbums -qws -nomouse -display transformed:rot270
  865   782 root     S    38516  69%   0% ./SmartAlbums -qws -nomouse -display transformed:rot270
  782   773 root     S    38516  69%   0% ./SmartAlbums -qws -nomouse -display transformed:rot270
  786   782 root     S    38516  69%   0% ./SmartAlbums -qws -nomouse -display transformed:rot270
  788   782 root     S    38516  69%   0% ./SmartAlbums -qws -nomouse -display transformed:rot270
  402     1 root     S      616   1%   0% -/bin/sh
2208   767 root     S      612   1%   0% /bin/sh
  769   402 root     S      608   1%   0% /bin/sh ./qapp.sh
    1     0 root     S      600   1%   0% init      
  767     1 root     S      600   1%   0% telnetd -l /bin/sh e470     1 root     S      552   1%   0% ./hostapd /tmp/hostapd.conf


这个是top打印的内存使用情况,为什么PID有那么多呢,这里不太明白
回复

使用道具 举报

尚未签到

2017-3-29 21:41:27 显示全部楼层
冷月有情 发表于 2017-3-29 13:38
Mem: 46844K used, 9040K free, 0K shrd, 2036K buff, 26804K cached
CPU:   0% usr  12% sys   0% nic   ...

这也许是原因吧,开了这么多子进程,cpu和内存处理不过来了

点评

我不知道怎么会打开这么多子进程,我只有一个进程呢,但是里面有几个线程,用moveTothread的方法实现的,会出现这种情况么?请问我要怎么避免呢?  详情 回复 发表于 2017-3-30 11:36
回复

使用道具 举报

累计签到:1 天
连续签到:1 天
2017-3-29 23:15:48 显示全部楼层
里面有图片吗?可以预载。

点评

有照片,请问预载怎么实现呢?  详情 回复 发表于 2017-3-30 11:33
回复

使用道具 举报

累计签到:103 天
连续签到:1 天
2017-3-30 11:33:09 显示全部楼层
stlcours 发表于 2017-3-29 23:15
里面有图片吗?可以预载。

有照片,请问预载怎么实现呢?
回复

使用道具 举报

累计签到:103 天
连续签到:1 天
2017-3-30 11:36:50 显示全部楼层
Joey_Chan 发表于 2017-3-29 21:41
这也许是原因吧,开了这么多子进程,cpu和内存处理不过来了

我不知道怎么会打开这么多子进程,我只有一个进程呢,但是里面有几个线程,用moveTothread的方法实现的,会出现这种情况么?请问我要怎么避免呢?
回复

使用道具 举报

累计签到:1 天
连续签到:1 天
2017-3-30 15:51:04 显示全部楼层
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了