Home > Computers and Internet > VNC RDP ICA


This pretty much sums up ICA’s advantage over RDP(Microsofts Protocol) and RFB(VNC). ICA is fast at any speed. VNC and RDP are good at moderate to high speed. VNC with the tight encoding is showing very good improvements at the low bandwidth end of things, so VNC could be considered to be good at all speeds. Try running a web browser or using Photoshop/Gimp over a VNC and an ICA connection, and you will like VNC better. Here is the technical difference. Both ICA and RFB use the DRI(Direct Rendering Interface) or X11(Unix X server protocol) calls coming from the windowing environment while VNC is a “screen scrapper” and uses the actual graphic output to the screen. So if the windowing env. outputs something like “show the letter ‘A'”, ICA and RDP send a command to the remote client telling it to show the letter ‘A’ using font Times. VNC actually lets the letter ‘A’ get written to your a video buffer once the letter is drawn, VNC scans the letter and transmits the results. The only difference between RDP and ICA is that ICA has been optimized in many ways for low bandwidth connections. If you were running a program over RDP on a 9600 baud modem and the program was showing a video clip, RDP would diligently send each and every frame over one frame at a time. ICA, as well as VNC, would show a frame every so often depending on how big the video was. This is true because ICA and VNC adjust for slow connections. RDP might take 5 hours to play a one minute video clip while ICA and VNC will only take on minute, but may only show 2 frames. This is a worst case example, but the feedback from the client that ICA and VNC use makes a big difference in the speed of the product. The big speed difference between VNC and ICA is latency. Latency is the amount of time it takes for the client to send a command to the server and receive a response. ICA uses many techniques to improve latency over high latency connections. When you click the letter ‘A’ on the keyboard when running an ICA client, here is what happens: 1) ICA client draws and ‘A’ on you screen. 2) ICA client sends the letter ‘A’ to the server 3) If more letters are pressed before the response from the server returns, the client keeps drawing letters locally and queuing the key strokes in the send buffer. 4) When the sever responds with the result of the first key press, the client draws the result. The server sends all addition key presses to the server and starts back over at #3. So if you are typing and email that is 2000 characters long, the client may only talk to the server 500 times instead of 2000 like VNC would. When you move your mouse around the ICA clients window, on a slow connection, you mouse coordinates are sent to the server only every so often. With VNC, if you move your mouse from the left of the screen to the right the coordinates are sent as many times as is possible given the current bandwidth. Tight VNC has actually modified this behavior in their beta version. Anyway, sorry for the long post, but someone should really write this up nice(unlike mine) and put it in the FAQ. Very interesting stuff.

  1. No comments yet.
  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: