Perché i client RDP su Linux sono molto più lenti che su Windows?


10

Ho un PC remoto Windows 8.1, al quale mi collego utilizzando RDP da client Windows 7 e Linux. Ho notato che le prestazioni, ad esempio durante lo scorrimento, sono molto migliori su Windows che su qualsiasi distribuzione Linux. Sto usando rdesktop, Remmina, GNOME-RDP, ovunque l'aggiornamento dello schermo è lento e discontinuo, come VNC. Ma RDP non funziona come VNC o lo fa? Perché è così e qual è il client RDP più veloce per Linux? Forse il client di connessione desktop remoto in Wine?


2
RDP è un protocollo proprietario, quindi immagino che gli altri abbiano invertito i loro programmi, quindi non conoscendo i meccanismi sottostanti che dovranno fare per indovinare meglio cosa fare
gwillie

il mio client rdp android (di microsoft) funziona meglio sul mio telefono rispetto a qualsiasi rdp linux sul mio laptop i7
Kenneth Wilke

Risposte:


13
  1. Esistono più versioni del protocollo RDP:

    • 4.0 originale, che è un clone del protocollo ITU-T T.128
    • 5.0 - che è ancora usato da rdesktop (e nemmeno completamente)
    • 5.1, 5.2, 6.0, 6.1, 7.0, 8.1 e 8.1

Come puoi immaginare, ogni nuova versione di RDP è migliore, non solo introducendo nuove funzionalità, ma anche migliorando ulteriormente le prestazioni e l'esperienza utente complessiva.

  1. Come ho scritto sopra, rdesktop implementa ancora solo un sottoinsieme del protocollo RDP 5.0 (versione utilizzata su Windows 2000). Questa versione è meno ottimizzata di almeno 6.0 (rilasciata con Windows Vista), il che è stato un enorme miglioramento delle prestazioni.

  2. Inoltre, l'intero sistema di finestre X11 utilizzato su Linux è un gruppo di applicazioni userland, mentre Microsoft Windows elabora gli eventi grafici (come lo scorrimento dello schermo) direttamente nel suo kernel.

Lo scorrimento dello schermo (e delle finestre delle applicazioni) è un'operazione che richiede la copia di molti contenuti di memoria da una posizione all'altra. Questa operazione è molto più veloce nel kernel di sistema rispetto alle applicazioni userland.

E ciò influisce anche sulle prestazioni di ciascuna implementazione del PSR.


Grazie, ma che ne dici di FreeRDP? Quale versione RDP implementa?
Niutech,

1
Ho trovato diverse informazioni su FreeRDP, ma probabilmente supporta un sottoinsieme di 7.0 o 7.1. Se hai tempo, qui hai maggiori informazioni a riguardo: github.com/FreeRDP/FreeRDP/wiki/Reference-Documentation
Tomasz Klim

Ci sono stati progressi su questo recentemente?
Royi,

Perché lo scorrimento dello schermo dovrebbe essere lento o richiedere molta copia della memoria anziché semplici operazioni gpu blt op per spostare il contenuto e quindi disegnare il contenuto appena visibile?
Whitneyland,

0

Come puoi vedere dalla risposta di gwilli, RDP non è RDP perché ci sono molte versioni differenti del protocollo con molte estensioni e client e server stanno negoziando una versione del protocollo che entrambi capiscono.

È nella natura delle cose che due versioni di Windows concordano probabilmente su una versione più recente e con prestazioni migliori del protocollo.

Non posso dire nulla di qualificato per quanto riguarda le prestazioni del client RDP Linux, perché non conosco alcun benchmark relativo alle implementazioni RDP open source. Nel caso in cui si desideri confrontare i client, è necessario esaminare le librerie sottostanti utilizzate dai client e non solo il client. Ciò renderebbe la tua ricerca più efficiente.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.