Come posso rendere VNC più veloce?


29

Devo accedere in remoto e utilizzare il mio computer di lavoro alcune volte a settimana. Attualmente sto usando UltraVNC. Voglio usare VNC a causa del prezzo. Ho usato VNC prima, principalmente sulla mia rete, dove è veloce.

Tuttavia, VNC su Internet è incredibilmente lento. Anche a 256 colori e inferiore, con Aero spento, è insopportabilmente lento. Recentemente ho usato Ammyy Admin per connettermi per fare qualcosa che richiedeva un tempo di reazione rapido. Ammyy è stata davvero veloce, quasi senza ritardi, ed era in esecuzione a colori con Aero acceso!

Come posso rendere VNC più veloce, come lo è Ammyy? Userei Ammyy, ma probabilmente mi imbatterei nel limite di 15 ore / mese abbastanza rapidamente. Eventuali suggerimenti?


Hai installato e abilitato il driver mirror come suggerito da Dillie-O?
stukelly il

Risposte:


19

VNC ha alcune limitazioni inerenti al protocollo che utilizza. RFB, framebuffer remoto, funziona trasmettendo rettangoli di pixel su una rete. Maggiore è la risoluzione e la profondità di bit, maggiore è la larghezza di banda richiesta per inviare gli aggiornamenti. Ci sono alcune ottimizzazioni che i server / client VNC già eseguono:

  1. Invia solo regioni modificate, memorizzando nella cache regioni invariate sul client.
  2. Copia delle aree memorizzate nella cache sul client in caso di modifiche.
  3. Varie forme di compressione lossless e lossy

Puoi giocherellare con le impostazioni sia sul client che sul server per vedere quali impostazioni funzionano meglio per la tua connessione Internet. Qualsiasi client può connettersi a qualsiasi server perché negozia per determinare quali funzionalità di protocollo supportano entrambi, ma è meglio usare un client e un server della stessa azienda se si desidera utilizzare funzionalità di protocollo più avanzate.

I protocolli RDP e X trasmettono istruzioni di disegno anziché patch di pixel. Ecco perché in alcune condizioni sono superiori a VNC.

Altri servizi di accesso remoto proprietari possono utilizzare tecniche simili ma non sono documentati. I servizi di accesso remoto hanno il vantaggio di essere in grado di perforare i firewall più facilmente dell'accesso remoto diretto, di solito sono più facili da configurare e hanno un supporto migliore per la crittografia.

Ho usato VNC, Desktop remoto, LogMeIn Free, PCAnywhere e X remoto. Ognuno ha i suoi meriti:

  • VNC in realtà funziona meglio degli altri protocolli su bitrate estremamente limitati. (Pensa alla connessione dialup) E funziona praticamente su qualsiasi piattaforma.
  • Desktop remoto funziona bene su LAN e si integra perfettamente con ActiveDirectory.
  • LogMeIn è ottimo per accedere al PC Windows su Internet e supporta anche l'integrazione ActiveDirectory. Ha estensioni ActiveX, Java, Firefox e persino un client basato su HTML. La versione gratuita consente di gestire fino a 5 PC. Le versioni a pagamento aumentano questo numero, aggiungono funzioni di trasferimento file e gestione avanzata.
  • PCAnywhere è simile a VNC e Desktop remoto. Supporta vari livelli di crittografia, trasferimenti di file e configurazione remota. Cose che dovresti mettere insieme con VNC e Desktop remoto.
  • X è l'equivalente mondiale di Unix di Desktop remoto. Ad essere onesti, è stato in giro molto più a lungo rispetto a qualsiasi altro protocollo. Funziona alla grande su una LAN ma è troppo chiacchierone su Internet. Numerosi progetti hanno tentato di migliorarlo con vari livelli di successo. NoMachine NX, già menzionato, è uno di questi progetti.

Tutti i protocolli di accesso remoto che ho citato sono disponibili gratuitamente (con un sistema operativo o come download) tranne PcAnywhere, che viene venduto da Symantec.

Personalmente proverei ognuno di loro e selezionerei quello che meglio si adatta alle tue esigenze.


L'attività per cui ho lavorato lo ha installato su tutti i PC dei loro clienti. Ha funzionato efficacemente fino a quando i clienti non hanno iniziato a ottenere maggiore sicurezza. Quindi è diventata una seccatura configurare il firewall di ogni cliente. Quindi sono passati a una versione IT di GoToMyPC. Ma PCAnywhere era in realtà un prodotto abbastanza ben arrotondato.
Kenneth Cochran,

Mi piacerebbe vedere come funziona Chrome Remote Desktop rispetto alle opzioni in questa risposta. L'ho trovato molto simile a VNC quando utilizzato su connessioni a larghezza di banda ridotta.
Nathan Osman

@NathanOsman Chrome Remote Desktop utilizza il codec VP8 che Google ha acquistato da On2 qualche anno fa, quindi immagino che sia abbastanza buono. Non ci ho pensato, ma penso che CRD codifichi l'intero schermo come frame usando una compressione con perdita simile a dozzine di altri codec video. Con la morte del dialup ci sono pochi incentivi per l'ottimizzazione di bitrate così limitati. Ecco dove VNC ha davvero brillato.
Kenneth Cochran,

13

Puoi provare NoMachine NX . Un mio amico lo ha usato con un certo successo per aumentare la velocità di VNC.

Quanto a me sto usando RDP e penso che sia sicuramente la strada da percorrere per i sistemi Windows. Altri hanno avuto buoni risultati con TeamViewer o Remote Administrator .


Stavo per suggerire NX. Solo qualche dettaglio in più: per eseguire il software NX è necessaria una macchina Linux all'estremità remota (ovvero il tuo ufficio). Ha un gateway VNC per consentire al server NX di connettersi ai server VNC locali sulla propria rete. (Può fare lo stesso con RDP.)
Evan,

> Un mio amico lo ha usato con un certo successo per aumentare la velocità di VNC. Solo un pazzo, ma NX è completamente diverso da VNC (anche se svolgono funzioni simili)
Jason Axelson,

NX Now supporta i server OS X e Windows. È molto più veloce del tradizionale VNC.
Indolente il

2

Ci ho rinunciato, al giorno d'oggi uso LogMeIn Free quando sono su Windows e SSH con X forwarding su Linux.


Lo usavo qualche tempo fa. Ho appena fatto un altro tentativo e sembra che stia andando abbastanza bene. Freddo. Grazie!
NickAldwin,

Vorrei contrassegnare questo come una risposta (lo voglio davvero), ma offre un'alternativa anziché una soluzione. Scusate. Ha funzionato per me, grazie!
NickAldwin,

2

Hai esaminato UltraVNC ? Hanno un driver video mirror integrato nel loro sistema che aiuta ad accelerare alcuni dei problemi di aggiornamento e notifica. Penso che potrebbe aiutare nel tuo caso, ed è ancora gratuito.


hehe, nessuna preoccupazione. So che ci sono un milione di gusti di VNC là fuori, volevo solo lanciare quell'idea.
Dillie-O,

1

È possibile eseguire TeamViewer come "solo locale" se lo si fa connettendosi a una macchina in base al loro indirizzo IP. Questo è un enorme miglioramento della velocità rispetto a VNC.


1

Li ho testati di recente e Ammy Admin è il migliore nell'elenco per scopi generali. Temviewer funziona perfettamente e ha il supporto per Android e Mac, quindi è un'ottima opzione quando ci si collega da / a un altro sistema operativo. Ammy Admin e TeamViewer supportano entrambi Directx, quindi puoi giocare o vedere giochi sullo schermo, tuttavia Team Viewer è molto lento e non lo consiglierei per i giochi. Testato con Guild Wars 2 e Diablo 3. Testato anche Directx con UltraVNC, TightVNC e RealVNC ma non sono riuscito a farli funzionare con i giochi Directx. Una volta che si entra nel gioco, viene visualizzata solo una finestra nera. (il computer non si blocca, mostra solo una finestra nera che puoi minimizzare).

Team Viewer offre un ottimo supporto e risponde in modo efficace alle e-mail.

La cosa peggiore di Ammy Admin è il prezzo e il supporto, perché è necessaria una licenza per ogni computer, una per client e un'altra per server, circa (70 + 70) 140 euro con licenza Premium.

D'altra parte i VNC non hanno così tanto supporto dato che sono gratuiti.

L'opzione migliore è testarli tutti e vedere quale va meglio nel tuo sistema.


1

Prova ad usare questo:

-snapfb

Invece di eseguire il polling dell'X display framebuffer (fb) per le modifiche, copia periodicamente tutto l'X display fb nella memoria principale ed esamina quella copia per le modifiche. In alcune circostanze ciò migliorerà la risposta interattiva, o almeno renderà le cose più fluide, ma in altre (la maggior parte!) Peggiorerà la risposta. Se il video b / n fb è tale che la lettura di piccoli riquadri è molto lenta, questa modalità potrebbe essere d'aiuto. Per mantenere il "framerate" alto la dimensione dello schermo x bpp non può essere troppo grande. Si noti che questa modalità è molto dispendiosa delle risorse I / O di memoria (crea copie a schermo intero anche se non cambia nulla). Può essere utile in applicazioni simili all'acquisizione di video o in cui lo strappo delle finestre è un problema.

Questo ha risolto il problema per me.


0

Ho trovato che il VNC gratuito è dolorosamente lento. Hanno una versione a pagamento - non sei sicuro che sarà molto meglio?

Se ti trovi in ​​un ambiente Windows, ho avuto molta fortuna con RDC (Connessione desktop remoto).


1
+1 Per coincidenza, proprio ieri sono passato a RDC e sembra decisamente molto più veloce e configurabile per i computer Windows. Userò ancora VNC per altri sistemi operativi, ma lo è RDC per Windows.
Jorge Israel Peña,

RDC utilizza RDP sotto per il suo protocollo, credo? Peccato solo per le sue finestre, è bello e veloce :)
rogerdpack l'

0

Esiste una versione di VNC per reti più lente chiamata TightVNC .


IMO TightVNC è altrettanto lento e ho ottimizzato molto le impostazioni cercando di trovare qualcosa di meglio
zildjohn01

TightVNC ha una compressione migliore rispetto al client VNC "normale", ma non è molto più veloce. RDP è la strada da percorrere almeno con i sistemi Windows.
Joey,

Sto usando UltraVNC, che ho sentito può essere più veloce di TightVNC.
NickAldwin,

UltranVNC ha i miglioramenti del protocollo di TightVNC.
Evan,

0

Ho avuto una terribile UX usando VNC sulla rete locale, tuttavia quando ho provato ad accedere da:

ssh -X -C 

e usando

xtightvncviewer :$THEDISPLAY

le prestazioni sono molto migliori, rispetto a qualsiasi altra combinazione ...

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
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.