Por que ainda não temos aplicativos de desktop remoto com vários monitores e alto desempenho?

Por que ainda não temos aplicativos de desktop remoto com vários monitores e alto desempenho?

Estamos em 2017. Podemos transmitir transmissões ao vivo em 4k usando uma fração da largura de banda disponível e dos recursos de computação.

Por que ainda não temos aplicativos de desktop remoto que ofereçam desempenho decente? Qual é a diferença que torna muito mais difícil transmitir uma imagem quase estática durante a transmissão de ações do mouse e do teclado que não devem ultrapassar alguns bytes?

Responder1

Em primeiro lugar, temos aplicativos de desktop remoto que oferecem desempenho decente - mas não existe uma solução universal única para fazer isso bem.

No caso típico/pega-tudo, um computador precisa transmitir exatamente o que está na tela para outro local. A única coisa que pode ser feita para acelerar as coisas é compactar a saída - esse é normalmente o caso do VNC, por exemplo. Dependendo da velocidade da conexão e da complexidade da tela, isso pode funcionar bem ou pode ser lento. Se a compactação com perdas for usada, o material poderá não ser legível.

No outro extremo está algo como o chromecast - que fornece instruções ao computador remoto para fazer as coisas, para que ele possa aproveitar ao máximo a compactação (ou seja, ele lida com o fluxo compactado original da fonte, em vez de precisar descompactá-lo e enviar o dados descompactados ou descompactados e recomprimidos). Claro, isso requer aplicativos que sejam compatíveis com a tecnologia – e a maioria dos aplicativos de desktop não são.

No meio existem soluções como Spice, X forwarding rdp, que tentam usar API's para reduzir a quantidade de dados transmitidos reproduzindo o que deveria ser exibido na tela original.

Outro problema é a latência - se você estiver na Nova Zelândia (por exemplo) e compartilhando uma conexão na Europa, você verá latências > 200ms graças à velocidade da luz no vácuo - nada que você possa fazer na conexão poderá fazê-la menor latência - e isso faz com que pareça lento.

Da mesma forma, ao lidar com vídeo em movimento, exceto soluções do tipo Chromecast, muitas vezes não é possível saber o que está compactado (e como foi compactado) - e a compactação rígida e com perdas consome tempo, tornando isso difícil. (Eu ficaria surpreso se os vídeos 4k pudessem ser compactados em tempo real sem carga muito pesada no sistema - ou seja, os vídeos 4k podem ser transmitidos e reproduzidos em tempo real, mas geralmente não são codificados em tempo real enquanto os sistemas estão ativos executando outras tarefas reais)

informação relacionada