首页| 论坛| 消息

回复: 关于嵌入式板上QT的update耗费
#6 [九重水 06-26 15:28]
原来你调用的是QWidget的update函数啊,它要【重新刷新整个界面】,那它可忙了!
而且你要10ms刷新一次,简直忙到脚不沾地的地步。
游戏显卡处理100帧是什么概念?
我建议你在定时触发这样的函数里面处理非常简单的事情,比如 i++,j++啊,
如果你要定时刷新一些东西,建议计算好最小重绘区域再来重绘,比如仅仅是一秒钟刷新一次时间。
#7 [九重水 06-26 15:36]
一句话,由于你调用update的频率太高(相当于游戏100帧),
update函数掉刷新界面的任务提交给qt循环机制,累积了太多的刷新任务,
cpu忙不过来,导致cpu占用率奇高,
同时导致延迟大幅度增加。
如果你非得update,那就一秒一次吧,这样我保证一秒是可以update一次的,绝对不会有重绘任务累积。
#8 回 九重水 的帖子 [ghldh94 06-26 16:55]
九重水:一句话,由于你调用update的频率太高(相当于游戏100帧),
update函数掉刷新界面的任务提交给qt循环机制,累积了太多的刷新任务,
cpu忙不过来,导致cpu占用率奇高,
同时导致延迟大幅度增加。
....... (2019-06-26 15:36) 
项目要求是最少得有20ms的频率。我们做的是仪表盘。1s一次岂不是成了时钟秒表了吗 。在window上8ms上下都没有问题,在这块T7上100ms都有问题。 你做H3的时候,没有转盘、指针等对精度要求高的UI吗?应该也会遇到同样问题
#9 回 ghldh94 的帖子 [九重水 06-26 17:09]
ghldh94:项目要求是最少得有20ms的频率。我们做的是仪表盘。1s一次岂不是成了时钟秒表了吗 。在window上8ms上下都没有问题,在这块T7上100ms都有问题。 你做H3的时候,没有转盘、指针等对精度要求高的UI吗?应该也会遇到同样问题 (2019-06-26 16:55) 
这种需求也可以理解的(不过说句实话,人眼的反应时间20ms不需要这么短时间,25帧40ms是可以的)。
我前面也说过方法,你需要精确计算刷新区域(就一个圆,相信很快可以计算出来),这样情况下,你将需要刷新的区域大为缩小,CPU处理起来就简单得多!
#10 回 ghldh94 的帖子 [ghldh94 06-26 17:10]
ghldh94:项目要求是最少得有20ms的频率。我们做的是仪表盘。1s一次岂不是成了时钟秒表了吗 。在window上8ms上下都没有问题,在这块T7上100ms都有问题。 你做H3的时候,没有转盘、指针等对精度要求高的UI吗?应该也会遇到同样问题 (2019-06-26 16:55) 
而且总的CPU占用只要超过10%就会开始delay。8%都不怎么delay,14%delay很明显。 并不是“奇高”哦。 所以怀疑这里是不是系统有什么限制住了单只应用的资源占用。

<< 1 2 3 4 >> (2/4)

回复 发表
主题 版块