0

I connect from the TigerVNC client on MacOS to an x11vnc server running on Linux.

When the connection speed is 6 Mbps on the client side and 100 Mbps on the server side it takes 7+ seconds to update the screen when it has a complex picture. I did a screenshot on this picture and the file size is 800k. 800k with a 6 Mbps connection should be transferred in ~1 sec.

Why does it take VNC many seconds to transfer a picture that should normally take ~1 sec?

Maybe VNC does many round trips to transfer picture chunks?

Maybe some VNC options are wrong?

Maybe there are some bugs?

These are my guesses.

DavidPostill
  • 153,128
  • 77
  • 353
  • 394
  • 1
    A screenshot will be no indication for the necessary bandwidth. Check the bandwidth in ressource monitor instead. – mashuptwice Oct 31 '22 at 22:12
  • Why? When it needs to transfer this picture the screenshot size is approximately the size it needs to transfer. – Jennifer M. Oct 31 '22 at 22:30
  • 1
    Check your VNC client options. Usually the client specifies which compression should be used. In UltraVNC the client I use on Windows there are dozen of options for image compression. – Robert Oct 31 '22 at 22:49
  • 1
    @JenniferM. You cannot assume that 1. VNC sends all data you see on the screen, as RFB usually only transfers changed data 2. both images use the same compression algorithm 3. both use the same color depth . This means that the screenshot is probably way larger than the image transferred by VNC. Apart from that you need to make sure that your server side connection is in fact 100MBit/s upstream, not only downstream. Most ISPs give you a way lower upstream bandwidth. – mashuptwice Oct 31 '22 at 23:27
  • Also most ISPs do not provide you the full advertised bandwidth, especially if you are on a mobile connection. Use something as https://speedtest.net to check your real bandwidth. Another thing to consider is that if you've set your "server" to 4k (3840x2160) resolution then you need to transfer approximately 4 times the data compared to 1080p (1920x1080), or 8x the data compared to HD (1366x768). – mashuptwice Oct 31 '22 at 23:35
  • Your problem is probably latency, not bandwidth. What kind of ping time do you get between your two systems while your VNC connection is up? – Spiff Nov 01 '22 at 16:02
  • I was thinking about latency too. I can't measure it at the moment, but it looks this way. If VNC depends on latency, doesn't this mean that this is a defect in the protocol? If it knows that it needs to send a lot of image areas - it should't request them in a stream-like fashion, and not wait for the previous one to be completed to request the next one. – Jennifer M. Nov 03 '22 at 06:08

0 Answers0