Diferença entre vnc e área de trabalho remota do Windows? [duplicado]

3

Possível duplicata:
Qual é a diferença entre RDP e VNC?

Parece-me que a Área de Trabalho Remota do Windows está ridiculamente sem recursos e precisa carregar todas as janelas do computador remoto antes de disponibilizar a área de trabalho.

No entanto, parece que o VNC envia apenas imagens da área de trabalho pela rede.

Eu estaria certo em meu pensamento?

Como tenho um monte de coisas abertas no meu computador e enquanto ele funciona bem aqui, quando outra pessoa faz login via Área de Trabalho Remota, leva muito tempo para que seja executado em sua máquina.

leeand00
fonte
@ David Sim, eu diria que é uma duplicata, mas minha pergunta é muito mais direta.
Leeand00 5/05

Respostas:

12

O RDP (Remote Desktop) é realmente um protocolo muito mais eficiente que o protocolo do VNC, chamado RFB .

O VNC funciona, como você sugere, enviando uma imagem da área de trabalho pela rede. Existem algumas otimizações, como enviar apenas partes da tela que foram alteradas, mas é basicamente isso.

O RDP, por outro lado, funciona enviando instruções sobre como desenhar a tela no computador cliente. Em vez de enviar uma imagem de uma janela, a máquina host envia uma descrição da janela para a máquina cliente, então a máquina cliente é responsável por renderizar uma imagem e exibi-la. Quase o tempo todo, essas instruções consomem muito menos largura de banda do que o protocolo do VNC. Além disso, como o computador cliente "entende" a imagem criada para você, ele pode executar operações simples como mover janelas sem precisar (a) enviar a entrada do mouse para o computador host, (b) aguardar a renderização do computador host a janela movida e (c) aguarde a resposta. Ele pode calcular e desenhar os resultados imediatamente.

O RDP também é integrado aos logons e sessões do Windows: quando você faz uma conexão da Área de Trabalho Remota, o Windows cria uma nova sessão de logon para você ou conecta uma sessão existente à sua conexão RDP. Fazer logon e conectar a sessão é o que leva a maior parte do tempo de conexão inicial, mas depois disso deve ser muito mais rápido. É assim que os Serviços de Terminal funcionam: cada usuário tem uma sessão independente em um computador, cuja exibição é enviada pela rede e renderizada remotamente, e nenhum deles pode ver o que o outro está fazendo. O VNC geralmente não tem noção de sessões de logon e sempre o conecta à sessão do console (para que você veja exatamente o que alguém sentado no computador veria). Dependendo do que você está tentando alcançar, isso pode ser uma coisa boa ou ruim.

Stephen Jennings
fonte
Estou usando um desktop virtual (Dextop) para alternar rapidamente entre clientes. Isso significa que tenho várias janelas abertas, mas elas não estão todas na tela de uma só vez. Assim, quando eles se conectam usando a área de trabalho remota, eles precisam enviar todas essas informações. Se eu estivesse usando o VNC, ele seria enviado pela tela e acho que seria menor, apesar do protocolo mais eficiente. O que você acha?
Leeand00 5/05
11
Não sei os detalhes de como o RDP funciona, mas a julgar pela sua experiência, parece que o RDP está enviando instruções de desenho para as janelas fora da tela, pois os desktops virtuais não são bem suportados no Windows (eles geralmente funcionam ocultando janelas) , mas Dextop pode estar fazendo isso de uma maneira que desencadeia RDP para acreditar que eles estão na tela)
Stephen Jennings
11
Você pode provar isso de uma maneira ou de outra mantendo o mesmo número de programas em execução, mas desligue o Dextop para que todos estejam em um único desktop. Em seguida, faça com que o número apropriado de janelas mostre e minimize o restante. Então veja se o RDP ainda está lento ou não.
Stephen Jennings
Isso ainda é verdade hoje?
Simon Ferndriger