LINUX.ORG.RU

Обработка событий в окне интегрированного виджета.

 , , ,


0

1

Диспозиция такая.

Есть qt приложение, которое, используя QWindow::fromWinId и createWindowContainer, встраивает qt виджет из другого процесса. Работает хорошо, но есть проблема.

Возникают лаги при передаче событий мыши во встроенный виджет. Причем, это, на сколько я понимаю, лаги именно по части обработки событий, а не какие-то внутренние лаги процесса встроенного виджета, потому что его собственная анимация работает гладко + при непосредственной работе с этим виджетом (без встраивания) таких проблем нет.

Такое впечатление, что это какая-то внутренняя кухня X11 сотоварищи.

Кто виноват и что делать?


ltrace -c <programmname>

Если прям лаги видимые глазом, возможно видно будет. Я бы - сделал минимальный пример воспроизводящий проблему, так будет виднее профиль.

onhydro
()
Ответ на: комментарий от onhydro

Воспользоваться ltrace сложно (наверное мне стоило уточнить, что реч идёт о программах на питоне, написанных с использованием PyQt5). Не знаю, как правильно использовать ltrace в этом случае.

Минимальный пример опять же сделать затруднительно. С одной стороны прога использует тяжелоё геометрическое ядро. Попытка сборки примера без которого не очень осмыслена. А во вторых, проверка показала, что проблема не воспроизводится на более мощной машине... (Строго говоря, после того, как я это понял, я решил оставить все как есть).

Вопрос теперь скорее теоретический. Почему вообще события встроенного окна обрабатываются иначе.

Mirmik
() автор топика
Ответ на: комментарий от Mirmik

ltrace сложно

Не вижу разницы, хоть на пистоне, хоть на гыцыцы, рантайм то всё равно един.

Минимальный пример опять же сделать затруднительно.

Ты определись тяжёлое геометрическое ядро у тебя лагает или встраиваемый виджет.

Всё у тебя как-то сложно и затруднительно, ну тогда смотри методом пристального взгляда, так оно надёжнее :)

onhydro
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.