Pourquoi VNC sur Windows est-il si lent?

Dans un test, je pouvais diffuser un film Full HD sur notre réseau depuis l'ordinateur de mon ami, pas de problème. C'est aussi rapide que je le voudrais.

Mais VNC est douloureusement lent. Nous avons essayé Real VNC et Tight VNC, j'ai joué avec les paramètres Capture Method , mais rien ne semble faire une différence; C'est tellement lent.

Est-ce que quelqu'un a des conseils sur l'utilisation de VNC, sur la façon d'améliorer la vitesse, ou peut-être d'autres solutions?

Est-ce la nature de ne pas pouvoir remarquer les parties invalidées de l'écran assez rapidement, ou est-ce qu'une chose de réseau peut ralentir peut-être?

Nous utilisons Windows 7 tous les deux.

Nous devons pouvoir visualiser et contrôler les PC de l'autre sans verrouiller l'hôte, de sorte que RDP ne fonctionnera pas (sauf si quelqu'un en sait autrement).

8 Solutions collect form web for “Pourquoi VNC sur Windows est-il si lent?”

VNC est tout simplement inefficace. VNC travaille à peu près en prenant une série de captures d'écrans, en les compressant et en les faisant glisser sur le réseau

Sur Windows, RDP vous donnera de meilleures performances, mais vous avez besoin d'un professionnel ou mieux sur le serveur / source pour un RDP approprié, je crois.

L' assistance à distance à distance peut fonctionner mieux pour vos besoins – son RDP à la fois avec l'utilisateur au terminal et l'utilisateur sur le système distant en voyant le même écran

EDIT: 4 ans plus tard , j'utilise nomachine pour des tâches similaires – fonctionnerait dans tous les systèmes d'exploitation et fera quelques autres choses utiles.

VNC n'est pas comparable à la diffusion vidéo. En streaming vidéo, vous transférez généralement un flux vidéo pré-compressé via le réseau. Pour les flux HD, il est souvent codé en H.264. Si vous utilisez VNC, votre ordinateur hôte doit prendre des instantanés d'écran et les compresser avant de les envoyer sur le réseau. Il existe plusieurs contraintes ici:

  • Une forte compression nécessite beaucoup de puissance du processeur. Par exemple, l'encodage d'un film de 90 minutes en H.264 en haute qualité prend souvent plus de 4 heures de temps de compression sur mon serveur Athlon X2 4450e. Habituellement, une compression aussi forte n'est pas adaptée aux applications en temps réel, comme le contrôle à distance.
  • Une compression moins forte à son tour nécessitera plus de bande passante réseau qui pourrait devenir un problème sur les connexions à faible bande passante comme Internet.

Eh bien, il existe quelques "astuces" qui sont appliquées par les codecs vidéo et les utilitaires de contrôle à distance et de partage d'écran. Tout d'abord, ils essaient de détecter les changements d'écran et de transférer l'image (comprimée) des modifications uniquement. Cela permet généralement d'économiser beaucoup de bande passante et de puissance de traitement. Cependant, pour le transfert de vidéo en plein écran, cela n'aide pas beaucoup car l'écran entier doit être ré-transféré trop souvent. Comme cela a été écrit ci-dessus, les machines actuelles ne seront probablement pas capables de coder le contenu de l'écran dans Full-HD et la diffuser sur une application de contrôle à distance puisque votre hôte devra décoder le contenu vidéo et ensuite coder à nouveau les images brutes avant d'envoyer Ils au réseau. Certaines anciennes machines Dual-Core sont même à la limite lors du décodage du contenu vidéo Full HD. Ne parlant même pas d'avoir à coder de nouveau les images Full HD sur l'écran avant de les envoyer au client VNC.

Pour améliorer votre vitesse de contrôle à distance VNC, vous pouvez effectuer les opérations suivantes:

  • La plupart des serveurs / clients VNC prennent en charge plusieurs algorithmes de compression. Certains d'entre eux sont optimisés pour une petite bande passante, certains pour une bonne qualité d'image et certains pour une faible latence. Cela touche un autre aspect du contrôle à distance. Étant donné que le service est de nature latente interactive (vous ne voulez pas voir la réaction à un clic de souris juste après 5 minutes d'encodage).
  • Essayez de réduire la quantité de modifications d'écran sur votre machine hôte. Par exemple, essayez de désactiver les effets de bureau de Windows, les animations, etc. Cela permet d'économiser la bande passante car seules les parties modifiées de l'écran sont transférées sur le réseau.
  • Essayez de désactiver d'autres effets visuels sur l'hôte comme une transparence. Les fenêtres transparentes utilisées par Vista / Win7 réduisent la "compressibilité" des images. Les zones uniques / "plates" sont beaucoup plus efficaces à comprimer que les couleurs vives et les détails raffinés. Ainsi, la désactivation de la transparence et des effets de bureau Aero accélère vraiment l'expérience de la télécommande. La plupart des outils de contrôle à distance permettent même de désactiver ces effets automatiquement lors de la connexion (par exemple, Microsoft RDP et certaines implémentations VNC).
  • Idem s'applique aux images de fond. Essayez d'utiliser un fond d'écran non coloré au lieu des images HD.

Un autre problème pour VNC est qu'il doit détecter les modifications sur votre écran. Certaines implémentations VNC font des captures "stupides" et les compare à la capture d'écran précédente pour détecter les modifications. Cela prend déjà beaucoup de pouvoir. Certaines implémentations plus avancées fonctionnent avec des pilotes d'affichage spéciaux (contrôlez UltraVNC) qui sont plus efficaces ici, mais nécessitent des pilotes spéciaux à installer.

Bien sûr, tout cela ne vous aide pas si vous jouez une vidéo sur votre machine hôte. Dans ce cas, VNC devra recoder de ~ 30 images en plein écran par seconde et l'envoyer via le réseau. Sur la plupart des compressions qui peuvent être effectuées en temps réel par les CPU d'aujourd'hui, un tel flux prendrait> 8 Mbps de bande passante. Il est donc inadapté à la plupart des connexions Internet (en particulier, pensez à des connexions DSL asymétriques avec une vitesse de téléchargement généralement inférieure à 1 Mbit / s, et oui, c'est la vitesse de téléchargement qui compte sur le côté hôte).

Il pourrait convenir à l'utilisation du réseau local, mais ici, vous devriez probablement réfléchir à la configuration d'un serveur multimédia ou à partager vos médias en utilisant un serveur multimédia DLNA / UPnP (même le lecteur multimédia Win7 peut le faire). Utilisez ensuite un client DLNA pour lire les médias partagés.

La variante VNC la plus rapide que j'ai utilisée soit UltraVNC avec le pilote Mirror Mirror installé. RDP est encore nettement plus rapide, mais ce n'est pas aussi grave.

J'ai également entendu de très bonnes choses sur ZeroRemote , mais je n'ai jamais testé. Il semble que TrueRemote soit son successeur.

Si vous essayez de regarder de la vidéo sur un réseau local, la solution la plus rapide en termes de vitesse d' impression est probablement Radmin .

Comme le dit Jainney Geek, VNC est inefficace. C'est par conception que VNC ne doit pas "comprendre" ce que le client distant tente d'afficher.

RDP en fait, il peut prendre des raccourcis et rendre les images plus rapidement. RDP indique l'autre extrémité, par exemple, "client a ouvert une fenêtre à cet emplacement" au lieu d'envoyer les données bitmap représentant la modification de l'écran.

Il existe des hacks de «serveur terminal» qui ajouteront la capacité RDP aux versions de Windows qui ne les incluent pas, mais je ne les recommande pas officiellement et que vous les utilisez à vos risques et périls. Cependant, je pense que même les versions "Démarrage" de Windows 7 viennent avec "Remote Assistance" (msra.exe) que vous pourriez essayer d'utiliser.

Les choses que vous pouvez faire pour améliorer les performances de VNC, cependant, comprennent l'abaissement de la profondeur d'affichage à 8 bits, l'abaissement de la résolution de l'écran du client et l'utilisation de la mise en cache bitmap côté client. Cela signifie que VNC doit expédier moins de données sur le fil et que vous rencontrerez de meilleures performances (mais cela ne sera pas joli).

Vous pouvez également essayer TeamViewer, il est gratuit pour un usage non commercial et était assez rapide pour moi. Je ne l'ai pas encore testé sur la vidéo HD.

Si vous recherchez la performance, vous devez ne pas utiliser VNC, Essayez quelque chose comme LogMeIn . C'est gratuit et fonctionne bien.

Pour moi, même sur Internet (avec des taux de ping> 50 ms et une bande passante décente> 1 bit / s), j'ai un très bon comportement sur UltraVNC. La magie vient avec la modification des paramètres de connexion.

Après avoir démarré la visionneuse, accédez à "Options de connexion", désactivez "Sélection automatique des meilleurs paramètres", activez "Tight" et baissez le "Jpeg" pour réduire la qualité, si nécessaire (2-4 fonctionne bien).

C'est la seule façon dont je sais de ging Full Colors avec des performances décentes. Vous obtiendrez plusieurs fps par la suite, assez pour obtenir un diaporama rapide sur un film plein écran (assez pour tout ce que je fais, y compris le développement à distance, pour la lecture de films réels trop lent et il n'y a pas d'audio).

En outre, dans le serveur "Propriétés", il aide à avoir (si ce n'est pas l'utilisation d'un pilote miroir qui aide grandement les performances) à avoir "Sondage plein écran", "Fenêtre de sondage de premier plan", "Fenêtre de sondage sous le curseur", "Système HookDll", " Faible précision "allumé. Fondamentalement, à peu près tout sur la gauche.

  • Comment puis-je lancer un navigateur sans cadre de fenêtre ou onglet / barre d'adresse
  • L'invite de commande Win 7 ne utilise pas PATH pour trouver des exécutables
  • Pourquoi ne puis-je pas combiner deux partitions en une seule de Disk Management?
  • Compte n'agissant pas correctement en tant qu'administrateur
  • Existe-t-il une autre option pour Picasa avec une facilité d'utilisation et une simplicité similaires?
  • Comment diagnostiquer les blocages d'ordinateur et se figer?
  • Comment une sauvegarde ou une restauration d'image partielle peut-elle être effectuée?
  • Sous-dossiers Windows 7 cachés dans le répertoire "Program Files"
  • Comment puis-je obtenir la boîte de dialogue d'impression du système "ancien style" pour Chrome sur Windows?
  • Comment réparer la colonne de la mémoire du gestionnaire de tâches s'il montre des mensonges
  • Où puis-je trouver le GUID de ma NIC (à utiliser avec ForceBindIP)?
  • Soyons le génie de l'ordinateur et du réseau.