Hay dos factores importantes en el trabajo que determinan el rendimiento de un producto de control remoto:
¿Cómo se detecta cuando se produzcan cambios en la pantalla?
Algunos productos de RC dividen la pantalla en mosaicos y escanea periódicamente el búfer de cuadros de pantalla para determinar si se han producido cambios.
Otros se engancharán directamente en el sistema operativo. En el pasado, esto se hacía interceptando el controlador de video. Ahora puede crear un controlador espejo en el que el sistema operativo "refleje" todas las operaciones de dibujo. Esto es, obviamente, mucho más rápido.
¿Cómo envía esos cambios a través del cable?
Algunos productos (como VNC) siempre enviarán bitmaps de cualquier área que haya cambiado.
Otros enviarán la operación real que causó el cambio. p.ej. renderizar cadena de texto s usando la fuente f en las coordenadas (x, y) o dibujar la curva de bezier usando un conjunto dado de parámetros y, por supuesto, renderizar mapa de bits. Esto es, de nuevo, mucho más rápido.
RDP utiliza la técnica más rápida (y más difícil de implementar) en ambos casos. Creo que el protocolo real que usa es T.128.
Los mapas de bits suelen estar comprimidos. Algunos productos (como Carbon Copy) también mantienen cachés de mapa de bits sincronizados en ambos lados de la conexión con el fin de exprimir aún más el rendimiento.
Solo quiero mencionar este excelente artículo de MSDN "Top 10 Conceptos erróneos del protocolo RDP" sobre RDP ([Parte 1] (http://blogs.msdn.com/b/rds/archive/2009/03/03/top) -10-rdp-protocol-misconceptions-part-1.aspx) & [Parte 2] (http://blogs.msdn.com/b/rds/archive/2009/03/12/top-10-rdp-protocol -misconceptions-part-2.aspx)) que da alguna idea – nixda