Existe uma opção de queda de quadro no X11Forwarding?

7

Estou executando um modelo de visão computacional em uma VM remota sem cabeça (Ubuntu 16.04) sobre o X11Enviando com o bom e velho Putty e o Xming como meu Windows X Server.

Tudo está bem, mas parece que não há queda de quadro se a largura de banda cliente-servidor não puder acompanhar, o que significa que meu aplicativo fica mais lento e renderiza apenas alguns quadros por segundo quando pode fazer centenas se a largura de banda for suficiente.

Existe uma opção force frame drop embutida no encaminhamento X11, e se houver, como faço para ativá-la?

    
por evilSnobu 12.09.2018 / 09:48

3 respostas

8

Eu recomendo altamente o Xpra para esse tipo de caso de uso: ele não apenas fornece a capacidade de desconectar e reconectar aplicativos X rodando em um host remoto, ele também suporta uma variedade de codificações de imagem e configurações de atualização de janela para proporcionar uma experiência decente em diferentes circunstâncias.

Ele tem um cliente nativo do Windows , por isso deve ser fácil de configurar. Também é necessário instalá-lo na VM remota, mas isso é tão fácil quanto apt install xpra no Ubuntu.

    
por 12.09.2018 / 10:17
4

De acordo com esta questão relacionada , parece com X11Forwarding não é a melhor opção para aplicativos gráficos intensivos, pois o protocolo X11 não foi projetado com o desempenho de desenho de bitmap em mente.

Basicamente envia instruções de desenho para a rede, o que é "tudo bem" se estamos falando de algumas janelas com texto, mas é obviamente um exagero para milhões de pixels alterando cada frame, especialmente quando a rede experimenta alta latência / jitter / perda de pacotes.

Como sugerido na resposta à pergunta mencionada, você pode tentar x2go e veja se ele atende às suas necessidades.

EDITAR de acordo com o comentário

Se x2go não funcionar, você pode tentar VNC , que parece ter recursos de queda de quadros. Por exemplo, eu uso x11vnc para conectar à minha área de trabalho de uma conexão remota com x11vnc -display :0 -auth .Xauthority que conecta ao meu monitor.

Não sei se funcionaria com Xming , mas você pode tentar.

    
por 12.09.2018 / 09:56
3

O protocolo X11 puro não se presta bem para garantir a transmissão e muito mais do que o SSH.

Eu recomendo o NoMachine. Pode fazer compressão de largura de banda e otimização de rede. Também possui clientes para Mac, Windows e Linux.

PS. NoMachine tem as versões gratuitas e pagas. Eu sempre usei o livre.

Veja NoMachine

For virtual desktops (case a) the X11 vector graphics mode (previously known as “lightweight” mode) is enabled by default. This method reduces the bandwidth usage (and the HW requirements because is less CPU intensive) on both client and server by optimizing the X11 protocol by means of compression techniques, round trip suppression and cache algorithms.

The X11 vector graphics mode is convenient to avoid loss of image quality and can be useful when working with traditional GUIs or large amount of text, but it's not suggested for multimedia contents or applications with many graphical effects.

More about the X11 vector graphics mode: https://www.nomachine.com/AR02L00779

For connections to the physical desktop or when the X11 vector graphics mode is disabled for virtual desktops (case b) NoMachine implements the display protocol using a combination of video and image encoding based on standard codecs and a number of techniques developed by NoMachine itself.

It also implements a network adaptive display quality technique. This means that NoMachine will automatically try to reduce the display quality when it detects that the network is congested. Purpose of this mechanism is to keep the session responsive through all the different network conditions.

More about finding the most suitable configuration for multimedia playing:

https://www.nomachine.com/AR01M00832

    
por 12.09.2018 / 10:24

Tags