Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

etaleb

macrumors 6502a
Original poster
Apr 7, 2012
633
33
Maine
Folks

This isn't exactly a programming question but I think you programmers would perhaps know the answer to this. At my job, I have to deal with a large number of computers (workstations & servers) by doing both RDP and VNC. For Windows, I stick with RDP but when going from Mac to Mac, my only option is the in-built VNC. I've used all flavors of the VNC client but never seem to get the low-latency that RDP protocol offers. There is always some sort of wait in milliseconds for a screen to refresh, especially when there are certain graphics on the remote machine (even basic graphics). This behavior is mostly seen on Wi-Fi but can also be seen on a wired connection. It may seem minor but given the nature of my work, it affects my productivity

Hopefully someone can cast a technical light into why VNC is never able to catch up to RDP
 
I'm not an expert in either of these protocols, but I have a couple guesses.

VNC is a more open protocol. I think it was designed to be more generic so that it is a common protocol that can be used by different systems. Windows, Linux, Mac, etc. In that sense, it must take a more generic approach so I believe that causes problems by making the graphics more verbose and the event handling a little less efficient. Also, I believe VNC was probably created with the assumption it would be used on a LAN.

RDP was developed by Microsoft. So they were able to optimize for their system. Both in terms of graphics and event handling. I'm guessing that's the big difference.

I use thin-clients at work to connect to VMs on a server. That remote desktop protocol is even more optimized than RDP. I forget which vendor it is. It's not important. The point is if you in control of both sides then you can optimize. VNC was designed to be more open to be cross-platform compatible.
 
Reduce the size of what you're streaming, either by reducing the number of colors or by reducing the resolution. I generally don't have a problem streaming... I forget the exact resolution... 1400x900? Something like that. + full color quality. Over wifi.
 
you are probably using citrix ica or vmware view - both of which are even more efficient though microsoft with remoteFX has gotten close to them
 
VNC is built on top of the OS window system. It waits for the desktop to change, the sends it. Microsoft built RDP inside Windows, which means RDP can start sending shorter drawing commands and stuff before it's finished being displayed. Apple could do that with OS hooks under Quartz/CoreGraphics, but hasn't (except maybe for Apple TV AirPlay.)

There seem to be 2 or 3 vendors of RDP servers for Mac OS X. Don 't know if they are any faster than the VNC Remote Desktop.
 
... I've used all flavors of the VNC client but never seem to get the low-latency that RDP protocol offers. ...

Can you give some examples of VNC clients you've tried?

For example, I've used "JollysFastVNC" before, and it was notably faster than Apple's builtin screen-sharing. That was well over a year ago, maybe more than two years, but I doubt the app has gotten worse.

The app is on the Mac App Store, and the developer has a free trial (see MacUpdate).
 
Folks

This isn't exactly a programming question but I think you programmers would perhaps know the answer to this. At my job, I have to deal with a large number of computers (workstations & servers) by doing both RDP and VNC. For Windows, I stick with RDP but when going from Mac to Mac, my only option is the in-built VNC. I've used all flavors of the VNC client but never seem to get the low-latency that RDP protocol offers. There is always some sort of wait in milliseconds for a screen to refresh, especially when there are certain graphics on the remote machine (even basic graphics). This behavior is mostly seen on Wi-Fi but can also be seen on a wired connection. It may seem minor but given the nature of my work, it affects my productivity

Hopefully someone can cast a technical light into why VNC is never able to catch up to RDP

Teamviewer is free for personal use and works with both Mac & Windows. It can disable the remote wallpaper and do a lot more. If you create an account you can run the program as a service and connect to your machines from anywhere (phone,tablet, computer). I have my mom's computer binded to my account to I can help her as well!
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.