我们公司正在尝试在一些基于Linux的嵌入式设备上使用Qt 4.8.5。我使用没有X服务器的Qt嵌入式。我需要绘制测量数据并经常更新它们(20-30fps,但只是小部分窗口小部件)。该系统基于ARM,400Mhz,没有GPU和FPU。我子类化了QWidget并重写了paintEvent()。我设置了WA_OpaquePaintEvent和WA_StaticContents。为了测试,我的paint event为空,并且我从定时器调用widget的update()函数,定时器设置为50毫秒。我的问题是,空的update占用了30%的CPU。数量随更新区域的大小而变化,因此我认为QT可能会在后台重新绘制某些内容。我已经阅读了很多帖子,但无法找到解决我的问题的方法。如果我注释掉update call,则CPU使用率下降到约1%(即使我在定时器中生成正弦波以测试窗口小部件,这应该比空函数调用复杂得多)。我的窗口小部件是矩形的,不透明的,并且我希望从paint event处理整个绘图过程。是否可以减少这种开销,并自己处理整个绘图过程?