liudianwu:你可以设置什么多不要干,就打印时间试试!肯定是你其他地方有问题!全志H3我都用了好几年了,做产品! (2019-06-26 14:25)
九重水:首先,Qt的定时器本来就不准,号称高精度的有20%的误差,这是我测试的,其他人不知道。另外,有测试代码吗?update函数里面你是怎么写的?处理的事情过多也会导致定时延迟处理。[表情] (2019-06-26 14:16)
九重水:一句话,由于你调用update的频率太高(相当于游戏100帧),update函数掉刷新界面的任务提交给qt循环机制,累积了太多的刷新任务,cpu忙不过来,导致cpu占用率奇高,同时导致延迟大幅度增加。....... (2019-06-26 15:36)
ghldh94:项目要求是最少得有20ms的频率。我们做的是仪表盘。1s一次岂不是成了时钟秒表了吗[表情] 。在window上8ms上下都没有问题,在这块T7上100ms都有问题。 你做H3的时候,没有转盘、指针等对精度要求高的UI吗?应该也会遇到同样问题 (2019-06-26 16:55)
九重水:这种需求也可以理解的(不过说句实话,人眼的反应时间20ms不需要这么短时间,25帧40ms是可以的)。我前面也说过方法,你需要精确计算刷新区域(就一个圆,相信很快可以计算出来),这样情况下,你将需要刷新的区域大为缩小,CPU处理起来就简单得多![表情] (2019-06-26 17:09)
ghldh94:只要调用到update , 不管paintEvent中有无绘图工作,都一样delay的。 嗯,40ms勉强也能接受吧。可是T7都没能做到,目前看最少是100多。对了,我还尝试了把timer 放到子线程中执行。这样qDebug打出来的时间是精确了,没有delay,意味着update也是按照我的20m .. (2019-06-26 17:20)
九重水:就一个仪表盘而已,100MS刷新频率根本就不碍事。如果非得跟游戏一样刷新,全职H7应该有GPU吧,直接弄个窗口用GPU给仪表盘得了。不过,老刘说他做过很多,你问一下他怎么用一个CPU干所有活,包括10ms刷新这么变态的事,哈哈。....... (2019-06-26 21:51)