Я использую модель компьютерного зрения на удаленной безголовой виртуальной машине (Ubuntu 16.04) через X11Forwarding с хорошей версией Putty и Xming в качестве моего Windows X Server.
Все хорошо, но кажется, что пропадание кадров не происходит, если пропускная способность клиент-сервер не может поддерживаться, а это означает, что мое приложение замедляется и отображает только несколько кадров в секунду, когда оно может делать сотни, если пропускной способности достаточно.
Существует ли опция принудительного удаления кадров, встроенная в пересылку X11, и, если она есть, как ее включить?
Ответы:
Я настоятельно рекомендую Xpra для такого рода сценария использования: он не только обеспечивает возможность отключения и повторного подключения к приложениям X, работающим на удаленном хосте, но также поддерживает различные кодировки изображений и параметры обновления окна, чтобы обеспечить достойный опыт в разные обстоятельства.
У него есть собственный клиент Windows, поэтому его должно быть достаточно легко настроить. Вам также необходимо установить его на удаленную виртуальную машину, но это так же просто, как
apt install xpra
в Ubuntu.источник
Согласно этому связанному вопросу , похоже, что
X11Forwarding
это не лучший вариант для графических приложений, поскольку протокол X11 не был разработан с учетом производительности растрового изображения.Он в основном отправляет инструкции рисования в сеть, что «хорошо», если мы говорим о паре окон с текстом, но очевидно, что миллионы пикселей меняют каждый кадр, особенно когда сеть испытывает большие задержки / дрожание / пакет потеря.
Как предлагается в ответе на упомянутый вопрос, вы можете попробовать x2go и посмотреть, соответствует ли он вашим потребностям.
РЕДАКТИРОВАТЬ согласно комментарию
Если
x2go
не сработает, вы можете попробовать,VNC
что похоже, имеет возможность удаления кадров. Например, я используюx11vnc
для подключения к своему рабочему столу удаленное соединение, с помощьюx11vnc -display :0 -auth .Xauthority
которого подключается мой дисплей.Не знаю, сработает ли это,
Xming
но вы можете попробовать.источник
Чистый протокол X11 не подходит для гарантии передачи, и во многом по SSH.
Я рекомендую NoMachine. Это может сделать сжатие полосы пропускания и оптимизацию сети. У него также есть клиенты для Mac, Windows и Linux.
PS. NoMachine имеет бесплатную и платную версии. Я всегда пользовался бесплатным.
См NoMachine
источник