Como posso tornar o VNC mais rápido?


29

Preciso acessar e usar remotamente meu computador do trabalho algumas vezes por semana. Atualmente, estou usando o UltraVNC. Eu quero usar o VNC por causa do preço. Eu já usei o VNC antes, principalmente na minha própria rede, onde é rápido.

No entanto, o VNC pela Internet é incrivelmente lento. Mesmo com 256 cores e menos, com o Aero desligado, é insuportavelmente lento. Recentemente, usei o Ammyy Admin para conectar-se a algo que requer um tempo de reação rápido. Ammyy foi muito rápido, quase sem atraso, e estava correndo em cores com o Aero!

Como posso tornar o VNC mais rápido, como o Ammyy? Eu usaria o Ammyy, mas provavelmente atingiria o limite de 15 horas / mês rapidamente. Alguma sugestão?


Você instalou e ativou o driver de espelho, conforme sugerido por Dillie-O?
31510 stukelly

Respostas:


19

O VNC tem algumas limitações inerentes ao protocolo usado. O RFB, buffer de estrutura remoto, funciona transmitindo retângulos de pixels em uma rede. Quanto maior a resolução e a profundidade de bits, maior a largura de banda necessária para enviar atualizações. Existem algumas otimizações que os servidores / clientes VNC já fazem:

  1. Envie apenas regiões alteradas, armazenando em cache regiões inalteradas no cliente.
  2. Copiando regiões em cache no cliente quando ocorrem alterações.
  3. Várias formas de compactação sem perdas e com perdas

Você pode mexer nas configurações do cliente e do servidor para ver quais configurações funcionam melhor para sua conexão com a Internet. Qualquer cliente pode se conectar a qualquer servidor porque negocia para determinar quais recursos de protocolo suportam, mas é melhor usar um cliente e servidor da mesma empresa, se você desejar usar recursos de protocolo mais avançados.

Os protocolos RDP e X transmitem instruções de desenho em vez de manchas de pixels. É por isso que, em algumas condições, eles são superiores ao VNC.

Outros serviços proprietários de acesso remoto podem usar técnicas semelhantes, mas não são documentadas. Os serviços de acesso remoto têm o benefício de poder perfurar firewalls mais facilmente do que o acesso remoto direto, geralmente são mais fáceis de configurar e têm melhor suporte para criptografia.

Usei o VNC, o Remote Desktop, o LogMeIn Free, o PCAnywhere e o X remoto. Cada um tem seus méritos:

  • O VNC realmente tem um desempenho melhor do que os outros protocolos em taxas de bits extremamente limitadas. (Pense em conexão discada) E funciona em praticamente qualquer plataforma.
  • A Área de Trabalho Remota funciona bem em LANs e se integra perfeitamente ao ActiveDirectory.
  • O LogMeIn é ótimo para acessar o Windows PC pela Internet e também suporta a integração do ActiveDirectory. Possui extensões ActiveX, Java, Firefox e até um cliente baseado em HTML. A versão gratuita permite gerenciar até 5 PCs. As versões pagas aumentam esse número, adicionam recursos de transferência de arquivos e gerenciamento avançado.
  • O PCAnywhere é semelhante ao VNC e à Área de trabalho remota. Ele suporta vários níveis de criptografia, transferência de arquivos e configuração remota. Coisas que você precisa reunir com o VNC e a Área de trabalho remota.
  • X é o equivalente mundial da área de trabalho remota do Unix. Para ser justo, já existe muito mais tempo do que qualquer outro protocolo. Funciona muito bem em uma LAN, mas é muito falador pela Internet. Vários projetos tentaram melhorar isso com diferentes níveis de sucesso. O NoMachine NX, já mencionado, é um desses projetos.

Todos os protocolos de acesso remoto que mencionei estão disponíveis gratuitamente (com sistema operacional ou como download), exceto o PcAnywhere, vendido pela Symantec.

Pessoalmente, eu tentaria cada um deles e selecionaria aquele que melhor atendesse às suas necessidades.


A empresa em que trabalhei a instalou em todos os computadores de seus clientes. Funcionou efetivamente até que os clientes começaram a obter mais segurança. Então, tornou-se muito complicado configurar o firewall de cada cliente. Então eles mudaram para uma versão de TI do GoToMyPC. Mas o PCAnywhere era realmente um produto muito bem arredondado.
Kenneth Cochran

Eu adoraria ver o desempenho da Área de trabalho remota do Chrome em comparação com as opções nesta resposta. Descobri que ele é muito comparável ao VNC quando usado em conexões de baixa largura de banda.
Nathan Osman

O @NathanOsman Chrome Remote Desktop usa o codec VP8 que o Google comprou da On2 há alguns anos, então imagino que seja muito bom. Eu não procurei, mas acho que o CRD apenas codifica a tela inteira como quadros usando compactação com perdas semelhante a dezenas de outros codecs de vídeo. Com a morte da conexão discada, há pouco incentivo para otimizar essas taxas de bits limitadas. É aí que o VNC realmente brilhou.
21919 Kenneth Cochran

13

Você pode experimentar o NoMachine NX . Um amigo meu usou com algum sucesso em aumentar a velocidade do VNC.

Quanto a mim, estou usando o RDP e acho que é definitivamente o caminho a seguir nos sistemas Windows. Outros tiveram bons resultados com o TeamViewer ou o Remote Administrator .


Eu ia sugerir o NX. Apenas mais alguns detalhes: você precisa de uma máquina Linux para o terminal remoto (ou seja, seu escritório) para executar o software NX. Ele possui um gateway VNC para que você possa conectar o servidor NX aos servidores VNC locais em sua rede. (Também pode fazer o mesmo com o RDP.)
Evan

> Um amigo meu usou com algum sucesso para aumentar a velocidade do VNC. Apenas um nitpick, mas NX é completamente diferente do VNC (embora eles desempenham funções semelhantes)
Jason Axelson

O NX Now suporta servidores OS X e Windows. É muito mais rápido que o VNC tradicional.
Indolering

2

Eu desisti disso, hoje em dia eu apenas uso o LogMeIn Free quando estou no windows e ssh com o encaminhamento do X no linux.


Eu costumava usar isso há um tempo atrás. Apenas tentei novamente e parece estar indo muito bem. Legal. Obrigado!
31411 NickAldwin

Eu marcaria isso como uma resposta (eu realmente quero), mas oferece uma alternativa em vez de uma solução. Desculpe. Mas funcionou para mim, obrigado!
31411 NickAldwin

2

Você já viu o UltraVNC ? Eles têm um driver de vídeo espelhado embutido no sistema que ajuda a acelerar alguns dos problemas de atualização e notificação. Eu acho que poderia ajudar no seu caso, e ainda é gratuito.


hehe, não se preocupe. Eu sei que há um milhão de sabores de VNC por aí, só queria jogar essa idéia fora.
Dillie-O

1

Você pode executar o TeamViewer como "somente local" se fizer isso com uma máquina com base no endereço IP deles. Esta é uma enorme melhoria de velocidade em relação ao VNC.


1

Testou todos eles recentemente e o Ammy Admin é o melhor da lista para fins gerais. O Temviewer também funciona perfeitamente e possui suporte para Android e Mac, por isso é uma ótima opção ao conectar de / para outro sistema operacional. Ammy Admin e TeamViewer suportam Directx, para que você possa jogar ou ver jogos na tela, no entanto, o Team Viewer é muito lento e eu não o recomendaria para jogos. Testado com Guild Wars 2 e Diablo 3. Também testei o Directx com UltraVNC, TightVNC e RealVNC, mas não consegui fazê-los funcionar com jogos Directx. Apenas uma janela preta é exibida quando você entra no jogo. (o computador não está travado, apenas mostra uma janela preta que você pode minimizar).

O Team Viewer tem ótimo suporte e eles respondem com freqüência a emails.

A pior coisa do Ammy Admin é o preço e o suporte, porque você precisa de uma licença para cada computador, uma para cliente e outra para servidor, cerca de (70 + 70) 140 euros com a licença Premium.

Por outro lado, os VNCs não têm tanto suporte, pois são gratuitos.

A melhor opção é testá-los todos e ver qual deles funciona melhor em seu sistema.


1

Tente usar isto:

-snapfb

Em vez de pesquisar o X display framebuffer (fb) em busca de alterações, copie periodicamente todo o X display fb na memória principal e examine essa cópia em busca de alterações. Sob algumas circunstâncias, isso melhorará a resposta interativa ou, pelo menos, fará as coisas parecerem mais suaves, mas em outras (a maioria!), A resposta será pior. Se o vídeo h / w fb for tal que a leitura de blocos pequenos for muito lenta, esse modo poderá ajudar. Para manter a "taxa de quadros" alta, o tamanho da tela x bpp não pode ser muito grande. Observe que esse modo é um grande desperdício de recursos de E / S de memória (faz cópias em tela cheia, mesmo que nada mude). Pode ser útil em aplicativos do tipo captura de vídeo ou quando o rompimento de janelas é um problema.

Isso resolveu o problema para mim.


0

Eu achei o VNC gratuito muito doloroso. Eles têm uma versão paga - não tem certeza se isso será muito melhor?

Se você estiver em um ambiente Windows, tive muita sorte com o RDC (Remote Desktop Connection).


1
+1 Coincidentemente, ontem eu mudei para a RDC, e definitivamente parece ser muito mais rápido e configurável para computadores Windows. Ainda utilizarei o VNC para outros sistemas operacionais, mas é o RDC para Windows.
Jorge Israel Peña

RDC usa RDP por baixo para o seu protocolo, eu acredito? Apenas muito ruim suas janelas, é bom e rápido :)
rogerdpack

0

Existe uma versão do VNC para redes mais lentas chamada TightVNC .


IMO TightVNC é tão lento, e eu mexido as configurações de um monte tentando encontrar algo melhor
zildjohn01

O TightVNC possui uma compactação melhor que o cliente VNC "regular", mas não é muito mais rápido. RDP é o caminho a percorrer com os sistemas Windows, pelo menos.
30909 Joey

Estou usando o UltraVNC, que ouvi dizer que pode ser mais rápido que o TightVNC.
31411 NickAldwin

O UltranVNC possui as melhorias de protocolo do TightVNC.
Evan

0

Eu tinha um UX terrível usando o VNC na rede local, no entanto, quando tentei fazer o login:

ssh -X -C 

e usando

xtightvncviewer :$THEDISPLAY

o desempenho é muito mais melhor do que qualquer outra combinação ...

VNC server default format:
      16 bits per pixel.
      Least significant byte first in each pixel.
      True colour: max red 31 green 63 blue 31, shift red 11 green 5 blue 0
    Using default colormap which is TrueColor.  Pixel format:
      32 bits per pixel.
      Least significant byte first in each pixel.
      True colour: max red 255 green 255 blue 255, shift red 16 green 8 blue 0
    Same machine: preferring raw encoding
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.