Я создал виджет, который служит своего рода всплывающим окном и, следовательно, должен иметь тень вокруг, чтобы оптически поднять его от фона.Я инициализирую эффект тени в конструкторе моего всплывающего виджета следующим образом:
dropshadow = new QGraphicsDropShadowEffect(this);
dropshadow->setBlurRadius(32);
dropshadow->setColor(QColor("#121212"));
dropshadow->setOffset(0,0);
setGraphicsEffect(dropshadow);
Приложение запускается во встроенной системе с процессором Intel Atom, пользовательским дистрибутивом Linux, Qt v4.7.3, работающим сСервер QWS.Когда я отключаю тень, моя загрузка процессора составляет менее 10%, когда графический интерфейс не используется.Включение тени увеличивает использование процессора более чем на 80%.Профилирование приложения показывает, что большая часть процессорного времени тратится в пределах libQtGui.so.4.7.3
.
У кого-нибудь есть идеи, почему использование процессора взрывается таким образом, даже если в графическом интерфейсе абсолютно ничего не происходит, даже мышьдвижение?
Редактировать: Изменение размера всплывающего окна меняет количество использования процессора.Уменьшение размера до четверти сокращает использование процессора примерно до четверти.Очень странно.