Воспроизведение видео Qt с помощью libmpv делает содержимое QtWebEngine jquery негладким - Ubuntu - PullRequest
0 голосов
/ 12 сентября 2018

У меня есть проект, который использует libmpv с виджетом opengl (в соответствии с примерами, поставляемыми с libmpv) вместе с виджетом QtWebEngine, который отображает информацию, графику и анимацию (например, тикер прокрутки).

Я обнаружил, что из опций воспроизведения видео в Qt mpv был самым плавным и надежным. Он будет отлично воспроизводить любое видео до 1080p.

Однако во время воспроизведения видео все анимации в QtWebEngine не являются плавными и нервными. Видео также немного менее плавное, когда что-то движется на веб-странице.

Система, с которой я тестирую, не борется за ресурсы (загрузка процессора составляет около 45%). Также нет никакого декодирования видео, поскольку оно воспроизводит необработанное видео (но пока оно воспроизводит закодированное видео, эффект одинаков, независимо от того, включено аппаратное ускорение или нет).

Я полагаю, что виджет mpv прерывает поток MainWindow, пока он обрабатывает кадры, и заставляет его зависать каждые несколько миллисекунд.

Насколько я знаю, нет никакого способа отделить поток mpv от потока MainWindow.

Не знаю, удастся ли сделать так, чтобы mpv и webengine работали без сбоев. Я чувствую, что должен быть какой-то способ запустить два виджета одновременно в одном окне, чтобы они не мешали друг другу.

Я тестирую с Ubuntu 18.04, QT 5.11 и последним mpv из git.

У кого-нибудь есть какие-либо советы или указания относительно того, что попробовать в первую очередь? Я понимаю, что это довольно широкий вопрос, но мои знания графики ограничены. Если у кого-то есть совет на концептуальном уровне (мне не нужно, чтобы кто-то кодировал мне исправление), я могу исследовать себя.

Спасибо.

...