¿Por qué los clientes RDP en Linux son mucho más lentos que en Windows?

10

Tengo una PC remota con Windows 8.1, a la que me estoy conectando usando RDP desde Windows 7 y clientes de Linux. Noté que el rendimiento, por ejemplo, cuando el desplazamiento es mucho mejor en Windows que en cualquier distribución de Linux. Estoy usando rdesktop, Remmina, GNOME-RDP, en todas partes la actualización de la pantalla es lenta y entrecortada, como VNC. Pero RDP no funciona como VNC , ¿o sí? ¿Por qué es así y cuál es el cliente RDP más rápido para Linux? ¿Quizás Remote Desktop Connection Client en Wine?

niutech
fuente
2
RDP es un protocolo propietario así que supongo que los otros han revertido sus programas de ingeniería, por lo tanto no conocer los mecanismos subyacentes van a tener que hacer un mejor conjetura qué hacer
gwillie
mi cliente rdp de android (por microsoft) funciona mejor en mi teléfono que cualquier rdp de linux en mi laptop i7
Kenneth Wilke

Respuestas:

13
  1. Existen múltiples versiones del protocolo RDP:

    • original 4.0, que es un clon del protocolo ITU-T T.128
    • 5.0 - que todavía utiliza rdesktop (y ni siquiera completamente)
    • 5.1, 5.2, 6.0, 6.1, 7.0, 8.1 y 8.1

Como puede imaginar, cada nueva versión de RDP es mejor, no solo al introducir nuevas características, sino también al mejorar aún más el rendimiento y la experiencia general del usuario.

  1. Como escribí anteriormente, rdesktop todavía implementa solo un subconjunto del protocolo RDP 5.0 (versión utilizada en Windows 2000). Esta versión está menos optimizada que al menos 6.0 (lanzada con Windows Vista), lo que fue una gran mejora en el rendimiento.

  2. Además, todo el sistema de ventanas X11 utilizado en Linux es un grupo de aplicaciones de usuario, mientras que Microsoft Windows procesa eventos gráficos (como desplazamiento de pantalla) directamente en su núcleo.

El desplazamiento de la pantalla (y las ventanas de la aplicación) es una operación que requiere copiar gran parte del contenido de la memoria de un lugar a otro. Esta operación es mucho más rápida en el núcleo del sistema que en las aplicaciones de los usuarios.

Y esto también afecta el rendimiento de cada implementación de RDP.

Tomasz Klim
fuente
Gracias, pero ¿qué tal FreeRDP? ¿Qué versión de RDP implementa?
niutech
1
Encontré varias informaciones diferentes sobre FreeRDP, pero probablemente sea compatible con el subconjunto de 7.0 o 7.1. Si tiene tiempo, aquí tiene más información al respecto: github.com/FreeRDP/FreeRDP/wiki/Reference-Documentation
Tomasz Klim
¿Ha habido algún progreso en eso últimamente?
Royi
¿Por qué el desplazamiento de la pantalla debe ser lento o requerir mucha copia de memoria en lugar de simples gpu blt ops para mover el contenido y luego dibujar el contenido recientemente visible?
whitneyland
0

Como puede ver en la respuesta de gwilli, RDP no es RDP porque hay muchas versiones diferentes del protocolo con muchas extensiones y el cliente y el servidor están negociando una versión de protocolo que ambos entiendan.

Es en la naturaleza de las cosas que dos versiones de Windows probablemente coincidan en una versión más nueva y de mejor rendimiento del protocolo.

No puedo decir nada calificado con respecto al rendimiento del cliente RDP de Linux, porque no conozco ningún punto de referencia con respecto a las implementaciones de RDP de código abierto. En caso de que desee comparar clientes, debe ver qué bibliotecas subyacentes usan los clientes y no solo el cliente. Esto haría que su búsqueda sea más eficiente.

Jodka Lemon
fuente