41 votes

Comment puis-je rendre VNC plus rapide ?

Je dois accéder et utiliser à distance mon ordinateur professionnel quelques fois par semaine. Je suis actuellement en train d'utiliser UltraVNC. Je veux utiliser VNC en raison du prix. J'ai déjà utilisé VNC auparavant, principalement sur mon propre réseau, où c'est rapide.

Cependant, VNC sur internet est incroyablement lent. Même à 256 couleurs et moins, avec Aero désactivé, c'est insupportablement lent. J'ai récemment utilisé Ammyy Admin pour me connecter et faire quelque chose nécessitant un temps de réaction rapide. Ammyy était vraiment rapide, presque pas de lag, et il fonctionnait en couleur complète avec Aero activé!

Comment puis-je rendre VNC plus rapide, comme Ammyy? J'utiliserais Ammyy, mais je rencontrerais probablement rapidement la limite de 15 heures par mois. Des suggestions?

27voto

Kenneth Cochran Points 2249

VNC a certaines limitations inhérentes au protocole qu'il utilise. RFB, framebuffer à distance, fonctionne en transmettant des rectangles de pixels via un réseau. Plus la résolution et la profondeur de couleur sont élevées, plus de bande passante est nécessaire pour envoyer des mises à jour. Il existe quelques optimisations que les serveurs/clients VNC font déjà:

  1. Envoyer uniquement les régions modifiées, en mettant en cache les régions inchangées sur le client.
  2. Copier les régions mises en cache sur le client lorsque des modifications se produisent.
  3. Diverses formes de compression sans perte et avec perte

Vous pouvez ajuster les paramètres sur le client et le serveur pour voir quels paramètres fonctionnent le mieux pour votre connexion internet. Tout client peut se connecter à n'importe quel serveur car ils négocient pour déterminer quels sont les fonctionnalités du protocole que les deux prennent en charge, mais il est préférable d'utiliser un client et un serveur de la même entreprise si vous voulez utiliser des fonctionnalités de protocole plus avancées.

Les protocoles RDP et X transmettent des instructions de dessin au lieu de patchs de pixels. C'est pourquoi, dans certaines conditions, ils sont supérieurs à VNC.

D'autres services d'accès à distance propriétaires peuvent utiliser des techniques similaires mais ne sont pas documentés. Les services d'accès à distance ont l'avantage de pouvoir traverser plus facilement les pare-feu que l'accès à distance direct, ils sont généralement plus faciles à configurer et offrent un meilleur support pour le chiffrement.

J'ai utilisé VNC, Remote Desktop, LogMeIn Free, PCAnywhere et le X à distance. Chacun a ses mérites:

  • VNC fonctionne en réalité mieux que les autres protocoles sur des débits extrêmement limités. (Pensez à une connexion par modem) Et il fonctionne sur pratiquement toutes les plateformes.
  • Remote Desktop fonctionne bien sur les LAN et s'intègre parfaitement à ActiveDirectory.
  • LogMeIn est idéal pour accéder aux PC Windows via internet et prend également en charge l'intégration à ActiveDirectory. Il dispose d'ActiveX, de Java, d'extensions Firefox et même d'un client basé sur HTML. La version gratuite vous permet de gérer jusqu'à 5 PC. Les versions payantes augmentent ce nombre, ajoutent le transfert de fichiers et des fonctionnalités de gestion avancées.
  • PCAnywhere est similaire à VNC et Remote Desktop. Il prend en charge différents niveaux de chiffrement, les transferts de fichiers et la configuration à distance. Des fonctionnalités que vous devriez assembler avec VNC et Remote Desktop.
  • X est l'équivalent dans le monde Unix de Remote Desktop. Pour être honnête, il est présent depuis beaucoup plus longtemps que les autres protocoles. Il fonctionne très bien sur un LAN mais est trop bavard sur internet. Plusieurs projets ont tenté d'améliorer cela avec des niveaux de succès variés. NoMachine NX, mentionné précédemment, est l'un de ces projets.

Tous les protocoles d'accès à distance que j'ai mentionnés sont disponibles gratuitement (soit avec un OS, soit en tant que téléchargement) à l'exception de PcAnywhere, qui est vendu par Symantec.

Personnellement, je les essaierais tous et je choisirais celui qui convient le mieux à vos besoins.

17voto

davidcann Points 1005

Vous pouvez essayer NoMachine NX. Un de mes amis l'a utilisé avec un certain succès pour augmenter la vitesse de VNC.

Quant à moi, j'utilise RDP et je pense que c'est définitivement la meilleure solution pour les systèmes Windows. D'autres ont eu de bons résultats avec TeamViewer ou Remote Administrator.

6voto

Denis Points 61

Essayez d'utiliser ceci :

-snapfb

Au lieu de sonder le framebuffer (fb) de l'affichage X pour les changements, copiez périodiquement tout le fb de l'affichage X dans la mémoire principale et examinez cette copie pour les changements. Dans certaines circonstances, cela améliorera la réactivité interactive, ou du moins donnera l'impression que les choses sont plus lisses, mais dans d'autres (la plupart !) cela rendra la réponse pire. Si le fb du h/w vidéo est tel que la lecture de petits carreaux est très lente, ce mode pourrait aider. Pour maintenir le "framerate" à un niveau raisonnable, la taille de l'écran x bpp ne peut pas être trop grande. Notez que ce mode utilise beaucoup de ressources d'E/S mémoire (il effectue des copies plein écran même si rien ne change). Il peut être utile dans les applications de capture vidéo, ou là où le déchirement de la fenêtre pose problème.

Cela a résolu le problème pour moi.

2voto

Herms Points 13069

Avez-vous examiné UltraVNC ? Ils ont un pilote vidéo miroir intégré dans leur système qui aide à accélérer certaines des problèmes de rafraîchissement et de notification. Je pense que cela pourrait vous aider dans votre cas, et c'est toujours gratuit.

1voto

Vous pouvez exécuter TeamViewer en mode "seulement local" si vous le faites vous vous connectez à une machine en fonction de son adresse IP. Cela représente une énorme amélioration de vitesse par rapport à VNC.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X