QT 在子窗口中显示动画cpu飙升,父窗口中显示动画基本不占cpu
QT中生成一个窗口(没有父窗口的QWidget)用来显示动画(其实就是每隔30ms画一次文本,让文本看起来是移动的),发现CPU也就是1%左右,后面把这个窗口嵌入到顶级窗口里面,突然发现cpu飙升到30%,这是什么原因?
详细的说下程序实现,QTimer每隔30ms产生一个信号,槽函数中调用update造成窗口重绘,重载了paintevent函数,函数中调用drawtext来画文本,每次画的时候位置都+1。运行之后CPU1%,后来把这个窗口嵌入到父窗口中(只是生成的时候传进了另外一个窗口的对象作为参数,然后设置了子窗口在父窗口中的位置),子窗口类的代码完全没有变化,运行之后发现CPU飙升到30%?
现在的想法是:
1、可能子窗口中发送update之后,事件循环需要经过父窗口,但是CPU也不至于这么高啊
2、会不会子窗口重绘的时候引起父窗口重绘(重叠的部分,比如父窗口的背景也被重绘了),但是CPU不应该飙升的这么高啊
求大神解惑,我是菜鸟 刚入手的QT,可能是低级错误,大哥大姐些别嘲笑啊 !
有没有解决方案之类的?现在感觉自己一点思绪也没有啊