x11vnc é lento, mas usando apenas 10% da largura de banda disponível

9

Estou usando a rede x11vnc acima de 15Mbit / s com latência de 20ms. Quando a tela está mudando, muito x11vnc é lento - por exemplo, quando eu alterno uma guia em um navegador, leva quase dois segundos até que a visualização seja totalmente redesenhada.

O mais estranho é que a velocidade máxima de conexão de x11vnc é mesmo durante o redesenho lento, apenas cerca de 10% da largura de banda disponível. Por que o x11vnc não está usando a largura de banda disponível para acelerar o redesenho? Por exemplo, o scp está usando 100% da largura de banda disponível sem problemas.

Como posso identificar qual é o gargalo do x11vnc no meu sistema? Até agora eu penso:

  1. 10% de uso da rede = > rede não é um gargalo
  2. taxa de leitura fb: 601 MB / seg = > leitura fb não é um gargalo

Alguma idéia de como eu posso melhorar o perfil x11vnc e descobrir o que está causando lentidão?

Por exemplo, existe alguma opção para o x11vnc mostrar quantos dados ele está manipulando e quanto tempo leva para pegar uma tela, processar, compactar e enviar pela rede?

    
por mmm 04.06.2012 / 02:11

3 respostas

8

Para responder minha própria pergunta:

Mudar de codificação restrita para codificação em hextile resolveu o problema com redesenho lento completamente.

Para adicionar alguns detalhes: notei que, durante o lento redesenho da tela, a cpu do cliente aumentava o uso de 100%. Eu estava usando codificação apertada e da página VNC Tight Encoder - resultados de comparação pode ser visto que a codificação apertada é bastante cpu intensivo quando comparado à codificação em hextile. Depois de alternar para o uso de cpu hextile max nunca é 100%, quase toda a largura de banda disponível é utilizada e redesenhar sempre leva menos de um segundo. Então, a CPU do cliente foi o gargalo.

Ou uma alternativa ainda melhor (menos largura de banda, baixo uso da CPU e parece ainda mais rápida que o hextile) é compilar x11vnc com suporte a TurboVNC e depois use cliente TurboVNC .

    
por 08.06.2012 / 01:06
1

O motivo é que o screen capture / renderer é ineficiente. Muitas diferentes implementações de VNC funcionam com isto para alcançar um melhor desempenho.

Se você não precisa refletir exatamente o que está no console local, uma solução melhor é NX da NoMachine ou FreeNX como um ambiente de área de trabalho remota. O desempenho é dia e noite, comparado ao VNC, mesmo em links WAN.

    
por 07.06.2012 / 22:26
1

Espero que isso funcione. link ... procure parâmetros do visualizador VNC e parâmetros x11vnc:

Funcionou para mim.

    
por 10.10.2012 / 13:23

Tags