TightVNC

Como vimos, na hora de instalar existem freqüentemente duas opções, o VNCserver “normal” e o TightVNCserver, uma versão mais recente, que oferece um algoritmo de compressão mais eficiente. Ele garante tempos de atualização de tela mais baixos (às custas de um pouco mais de processamento no cliente) e também suporte à compressão via JPG, que degrada a qualidade da imagem, em troca de uma redução considerável na banda utilizada, permitindo executar o VNC de forma aceitável mesmo em uma conexão via modem.

O TightVNC também oferece algumas melhorias secundárias, como o suporte a scroll de tela usando a roda do mouse e processamento local do cursor do mouse. Para que esses recursos funcionem, é necessário que seja utilizado o TightVNC tanto no servidor quanto no cliente. No screenshot temos o menu de opções oferecidas pelo cliente for Windows.

As opções são as seguintes:

Emulate 3 Buttons: Pressionar os dois botões simultaneamente equivale a pressionar o terceiro botão do mouse. Esta opção é útil para quem usa um mouse de dois botões e está acessando um servidor Linux.

Swap mouse buttons 2 and 3: Troca os dois botões do mouse dentro da tela do VNC, para canhotos ou caso os dois micros estejam configurados de forma diferente.

Track remote cursor localy: Processa o movimento do mouse no cliente e não no servidor. Uma novidade do Tight que faz o movimento do mouse ficar muito mais uniforme.

Restric pixels to 8-bit: Usa apenas 8 bits de profundidade de cor. Na prática, não faz tanta diferença, graças aos algoritmos de compactação. O mais útil para aumentar o desempenho no VNC é diminuir o tamanho da tela.

Full-screen mode: Inicia direto em tela cheia (no cliente).

Request shared session: Permite que dois ou mais clientes se conectem ao mesmo tempo à mesma sessão do servidor. Nesse caso, os movimentos do mouse e o input do teclado são misturados, de forma que só um pode usá-la de cada vez. Esta opção é útil para treinamentos.

Opções de encriptação (Preferred encoding):

Esta é a configuração mais importante, que vai definir o desempenho do VNC. Cada um dos algoritmos diferentes apresenta um certo balanço entre uso da banda da rede e carga de processamento. Por isso, a melhor escolha varia de acordo com a situação:

Tight: Este é o algoritmo exclusivo do Tight, que pode ser usado apenas quando tanto o cliente quanto o servidor utilizam a versão. O Tight oferece uma dupla compressão de dados, uma semelhante ao PNG, buscando pixels repetidos e substituindo-os por um único código, e uma segunda camada, baseada em um algoritmo de compressão desenvolvido pela equipe. É possível ativar, ainda, a compressão via JPG, estipulando um nível de perda.

O Tight é o ideal para redes lentas, sobretudo conexões via modem, mas não é uma boa escolha para redes locais ou micros muito lentos, pois a carga extra de processamento faz com que a atualização de tela fique lenta ao usar dois micros relativamente antigos (dois Pentium III 600, por exemplo), mesmo via rede local.

Hextile: Este algoritmo é o usado pela versão tradicional do VNC. A imagem da tela é dividida em áreas de 16×16 pixels e apenas as áreas atualizadas vão sendo enviadas aos cliente de forma compactada. Este algoritmo é o que oferece o melhor balanço entre uso da rede e do processador. É recomendável para PCs acima de 233 MHz e redes locais de 10 ou 100 megabits. Este é o algoritmo que oferece respostas mais rápidas ao utilizar uma rede de 100 megabits e dois PCs relativamente atuais, a melhor opção se você deseja algo rápido o suficiente para rodar aplicativos de trabalho confortavelmente.

RRE: É um algoritmo mais simples de compactação, que se resume a substituir seqüências de pixels da mesma cor por um único valor, indicando apenas que o cliente deve repetir o pixel x vezes. É eficiente para visualizar menus, textos, etc., mas não para imagens. Não se esqueça de desativar o wallpaper :).

CoRRE: Esta é uma variação do RRE que limita o número de repetições de pixels a 255, permitindo enviar um único bit de dados. Combina um uso relativamente baixo da banda da rede com pouco processamento. É o algoritmo que oferece melhores resultados em micros antigos e rede de 10 megabits.

Zlib (pure): Usa o algoritmo Zlib para compactar as imagens, sem perda de qualidade. É o segundo mais eficiente em nível de compressão, perdendo apenas para o Tight. Apesar disso, a carga de processamento no Zlib é consideravelmente maior que a do Tight, mais que o dobro, em muitas situações. O Zlib continua disponível no Tight apenas para manter compatibilidade com o VNC tradicional, que não suporta o algoritmo Tight.

ZlibHex (mix): Combina o Zlib com o Hexlite para quebrar a tela em pequenos pedaços, mantendo a compressão com o Zlib. O uso do processador é semelhante ao Zlib pure, mas existe um ganho perceptível de velocidade quando pequenos pedaços da tela são atualizados (abertura de menus por exemplo), mas nas atualizações de tela inteira, ao abrir uma nova janela ou dar scroll em uma página aberta no browser, por exemplo, o Zlib puro se sai melhor.

Raw: É o oposto do Tight. As imagens são enviadas via rede sem compressão alguma, minimizando a carga sobre o processador. Pode ser útil em redes de 100 megabits, mas com micros muito lentos, abaixo de 133 MHz. A quantidade de dados enviada através da rede é de 50 a 100 vezes maior que a do Tight (num dos testes publicados, uma sessão de 6:30 min em Raw totalizou um tráfego de 217 MB, contra apenas 3.3 MB usando o Tight), mas, em compensação, a carga de processamento é quase nula.

Você pode ver o comparativo entre a eficiência dos algoritmos de compressão, feito pela equipe do Tight no: http://www.tightvnc.com/compare.html. Usando o cliente Windows, basta selecionar as opções desejadas ao fazer a conexão, como no screenshot que vimos acima. No cliente Linux é preciso passar os parâmetros via linha de comando ao conectar. A sintaxe é:

$ vncviewer opções ip_do_servidor:sessão

As opções podem incluir:

-encodings: Para especificar um dos algoritmos de compactação acima.
Ex: vncviewer -encodings CoRRE 192.168.0.1:1

-fullscreen: Para iniciar o VNC em modo de tela cheia (o default é abrir em uma janela, o que, muitas vezes, faz com que apareçam barras de rolagem).
Ex: vncviewer -encodings Raw -fullscreen 192.168.0.1:1

-compresslevel 9: Esta opção permite especificar o nível de compressão para os algoritmos Tight e Zlib (a opção não tem efeito algum com os demais), permitindo dosar o uso da rede e do processador. O número vai de 1 (pouca compressão, menos processamento) a 9 (máxima compressão). O número 0 equivale ao modo Raw, sem compressão alguma.
Ex: vncviewer -encodings Zlib -compresslevel 9 220.200.125.67:3

-quality 2: Aqui é possível especificar o nível de compressão via JPG para o algoritmo Tight, especificando um número de 0 (péssima qualidade, menor uso da rede) a 9 (compressão sem perda, o default). Esta opção pode ser combinada com a opção -compresslevel. A opção mais rápida possível no VNC para uma conexão via modem seria:

$ vncviewer -encodings Tight -compresslevel 9 -quality 0 220.200.125.23:2

Usando a opção -quality 0, a qualidade da imagem fica realmente sofrível, mas as áreas por onde o mouse passa são atualizadas usando a qualidade máxima, permitindo que você consiga ver os detalhes. Apesar disso, é o melhor meio de conseguir ter uma velocidade utilizável através de uma conexão via modem.

-viewOnly: Para apenas visualizar o host remoto, sem input do teclado ou mouse. É uma opção útil para apresentações, aulas, etc.
Ex: vncviewer -encodings Raw -fullscreen -viewOnly 192.168.0.1:1

Sobre o Autor

Redes Sociais:

Deixe seu comentário

X