Software Remote Desktop: Por que o Teamviewer é muito mais rápido que os concorrentes de código aberto?

2

O TeamViewer é mais rápido em comparação com as alternativas do FLOSS em relação a dois aspectos:

  1. Todo o processo de configuração antes da sessão atual: Determine o IP, atravesse NAT & firewall, etc, considerando que no TeamViewer basta digitar um ID / PW, que passa pelo sistema centralizado do TeamViewer (isso é claro, uma questão de confiança!).
  2. A própria sessão remota de visualização / controle: as soluções VNC são muito menos fluentes e responsivas, muitas vezes atrasam dezenas de segundos, enquanto no Teamviewer parece quase "ao vivo", exceto, claro, se muito conteúdo de tela muda em altas freqüências (conteúdo animado, etc).

Eu gostaria de receber explicações técnicas sobre o segundo item. Não consigo descobrir onde está o potencial de otimização, o que torna o TeamViewer muito mais rápido.

    
por porg 12.10.2011 / 12:27

2 respostas

4

O VNC é apenas ineficiente - ele usa RFB . que de fato tira instantâneos de seu sistema de vez em quando, e diz ao sistema do cliente para desenhar caixas de tamanho X de tempos em tempos (uma descrição completa do Protocolo RFB está aqui. Protocolos mais eficientes não funcionam no nível do buffer de quadro - RDP usa um driver de nível de kernel nas janelas, por exemplo, e nx armazena em cache e compacta os dados.

Protocolos mais eficientes provavelmente como tal

  1. dados de cache e enviar apenas as diferenças
  2. conecte-se aos subsistemas nativos do sistema operacional host
  3. usando armazenamento em cache e compactação para acelerar a transferência de dados.

No caso do teamviewer, é provável que o uso inteligente do primeiro e do terceiro - tenha sido usado pelo mesmo cliente para windows e linux, e usa seu servidor para manipular conexão e roteamento de tráfego

    
por 12.10.2011 / 12:40
2

Gostaria de enfatizar o fato de que o VNC é simplesmente um ponto de comparação horrível.

Entre os sistemas Linux, um xpra adequadamente configurado oferece um desempenho muito melhor - principalmente graças ao suporte à compressão com perdas baseada em H.264.

A única compactação com perdas suportada pelo TeamViewer parece estar reduzindo a profundidade das cores e algum tipo de atualização entrelaçada que ajuda pouco com o conteúdo animado, como você observou. Um bom sistema seria capaz de sacrificar a qualidade para manter uma taxa razoável de atualizações. O xpra mencionado chega perto disso, mas honestamente ainda faz um trabalho de baixa qualidade.

Outro problema é o TCP versus o UDP. Protocolos baseados em TCP são bastante vulneráveis a, por exemplo, alta perda de pacotes, e o fato de que uma vez que você enviou alguns dados, ele deve ser transmitido - assim, uma única atualização grande significa que sua tela irá travar até chegar. Particularmente em conexões lentas que tornam o VNC inutilizável, já que qualquer grande mudança na tela significa que você não verá nenhuma alteração até minutos depois. Compare também ssh vs. mosh para texto puro.

Parece que ninguém conseguiu inventar um protocolo realmente bom, mas que combina altas taxas de compressão de codecs de vídeo avançados, uso de UDP com uma boa maneira de lidar com pacotes perdidos, codificação perceptiva que detecta e favorece a legibilidade do texto. mais de detalhes "inúteis", bom balanceamento automatizado de velocidades de atualização / transmissão com velocidade de codificação e qualidade, refinamento gradual e suave da qualidade ao longo do tempo para áreas não atualizadas, cache do cliente e diferenciação (enquanto codificação de vídeo pode referenciar quadros antigos não são realmente uma boa correspondência com o conteúdo normal da área de trabalho e o fato de que você pode armazenar facilmente 100s de MB do lado do cliente de dados de referência). Em outras palavras: Tudo o que o TeamViewer parece fazer é não fazer coisas completamente estúpidas (embora o VNC tenha a desculpa de mostrar sua idade), não conheço nenhuma solução que implemente até mesmo uma fração de truques inteligentes possíveis até hoje, sem mencionar todos aqueles que se pode imaginar.

    
por 09.08.2015 / 13:07