我创建了一个用作某种弹出窗口的小部件,因此周围应该有一个阴影,以从背景中光学提升它。我在弹出窗口小部件的构造函数中初始化投影效果,如下所示:
dropshadow = new QGraphicsDropShadowEffect(this);
dropshadow->setBlurRadius(32);
dropshadow->setColor(QColor("#121212"));
dropshadow->setOffset(0,0);
setGraphicsEffect(dropshadow);
该应用程序在带有 Intel Atom CPU、自定义 Linux 发行版、Qt v4.7.3 与 qws 服务器运行的嵌入式系统上运行。当我禁用投影时,当 GUI 空闲时,我的 cpu 使用率低于 10%。启用投影可将 cpu 使用率提高到 80% 以上。分析应用程序显示大部分 CPU 时间都花在libQtGui.so.4.7.3
.
有没有人知道为什么 cpu 使用率会像这样爆炸,即使 GUI 中绝对没有发生任何事情,甚至没有鼠标移动?
编辑:更改弹出窗口的大小会更改 CPU 使用量。将大小减小到四分之一会将 cpu 使用率降低到大约四分之一。很奇怪。