Есть ли опция отбрасывания кадров в X11Forwarding?

8

Я использую модель компьютерного зрения на удаленной безголовой виртуальной машине (Ubuntu 16.04) через X11Forwarding с хорошей версией Putty и Xming в качестве моего Windows X Server.

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

Существует ли опция принудительного удаления кадров, встроенная в пересылку X11, и, если она есть, как ее включить?

evilSnobu
источник
4
Протокол X11 не имеет представления о кадрах и, следовательно, не поддерживает удаление кадров (т. Е. Нет точки ресинхронизации).
Саймон Рихтер

Ответы:

9

Я настоятельно рекомендую Xpra для такого рода сценария использования: он не только обеспечивает возможность отключения и повторного подключения к приложениям X, работающим на удаленном хосте, но также поддерживает различные кодировки изображений и параметры обновления окна, чтобы обеспечить достойный опыт в разные обстоятельства.

У него есть собственный клиент Windows, поэтому его должно быть достаточно легко настроить. Вам также необходимо установить его на удаленную виртуальную машину, но это так же просто, как apt install xpraв Ubuntu.

Стивен Китт
источник
Это выглядит очень многообещающе, однако я не могу связать его с портом TCP.
evilSnobu
Вы подключаетесь через SSH или напрямую ?
Стивен Китт
Мой Xorg был f ****. Исправлено, и теперь все нормально, эта штука Xpra действительно хороша, особенно когда вы переключаетесь на кодирование HEVC (x265). Очень очень красиво и не блокирует. Спасибо!
evilSnobu
Я не могу рекомендовать Xpra больше. Это, наверное, лучший бесплатный вариант сегодня.
wbkang
5

Согласно этому связанному вопросу , похоже, что X11Forwarding это не лучший вариант для графических приложений, поскольку протокол X11 не был разработан с учетом производительности растрового изображения.

Он в основном отправляет инструкции рисования в сеть, что «хорошо», если мы говорим о паре окон с текстом, но очевидно, что миллионы пикселей меняют каждый кадр, особенно когда сеть испытывает большие задержки / дрожание / пакет потеря.

Как предлагается в ответе на упомянутый вопрос, вы можете попробовать x2go и посмотреть, соответствует ли он вашим потребностям.

РЕДАКТИРОВАТЬ согласно комментарию

Если x2goне сработает, вы можете попробовать, VNCчто похоже, имеет возможность удаления кадров. Например, я использую x11vncдля подключения к своему рабочему столу удаленное соединение, с помощью x11vnc -display :0 -auth .Xauthorityкоторого подключается мой дисплей.

Не знаю, сработает ли это, Xmingно вы можете попробовать.

Мистер Шунц
источник
К сожалению порт Windows x2go полностью сломан, уже пробовал.
evilSnobu
В прошлом я также пробовал x2go с клиентом Mac и отказался от него.
Руи Ф. Рибейро,
3

Чистый протокол X11 не подходит для гарантии передачи, и во многом по SSH.

Я рекомендую NoMachine. Это может сделать сжатие полосы пропускания и оптимизацию сети. У него также есть клиенты для Mac, Windows и Linux.

PS. NoMachine имеет бесплатную и платную версии. Я всегда пользовался бесплатным.

См NoMachine

Для виртуальных рабочих столов (случай а) режим векторной графики X11 (ранее известный как «облегченный») включен по умолчанию. Этот метод уменьшает использование полосы пропускания (и требования к HW, поскольку он требует меньше ресурсов процессора) как на клиенте, так и на сервере, оптимизируя протокол X11 с помощью методов сжатия, подавления обхода и алгоритмов кэширования.

Режим векторной графики X11 удобен во избежание потери качества изображения и может быть полезен при работе с традиционным графическим интерфейсом пользователя или большим объемом текста, но он не рекомендуется для мультимедийного содержимого или приложений со многими графическими эффектами.

Подробнее о режиме векторной графики X11: https://www.nomachine.com/AR02L00779

Для подключений к физическому рабочему столу или когда режим виртуальной графики X11 отключен для виртуальных рабочих столов (случай b), NoMachine реализует протокол отображения, используя комбинацию кодирования видео и изображений на основе стандартных кодеков и ряда методов, разработанных самой NoMachine.

Также реализована технология адаптивного качества отображения сети. Это означает, что NoMachine автоматически попытается снизить качество отображения, когда обнаружит, что сеть перегружена. Целью этого механизма является поддержание отклика сеанса во всех различных условиях сети.

Подробнее о поиске наиболее подходящей конфигурации для воспроизведения мультимедиа:

https://www.nomachine.com/AR01M00832

Руи Ф Рибейро
источник
Это «Бесплатно как в рекламе с закрытым исходным кодом для нашего платного варианта» или «Бесплатно как в Столлмане»?
труба
@pipe Где-то посередине, я думаю. Я использовал бесплатную версию для личного пользования, с большим удовлетворением, я также был вовлечен в последнее время и знаю о больших проектах, которые использовали бесплатную версию. Платная версия, по-видимому, может избавить от некоторых проблем, связанных с настройкой окружения в более сложных средах.
Руи Ф. Рибейро,