Mengapa klien RDP di Linux jauh lebih lambat daripada di Windows?

10

Saya memiliki PC jarak jauh Windows 8.1, yang saya hubungkan menggunakan RDP dari Windows 7 dan klien Linux. Saya perhatikan bahwa kinerja misalnya ketika menggulir jauh lebih baik pada Windows daripada pada distribusi Linux. Saya menggunakan rdesktop, Remmina, GNOME-RDP, di mana-mana refresh layar lambat dan berombak, seperti VNC. Tetapi RDP tidak bekerja seperti VNC , atau bukan? Mengapa demikian dan apa klien RDP tercepat untuk Linux? Mungkin Remote Desktop Connection Client di bawah Wine?

niutech
sumber
2
RDP adalah protokol berpemilik, jadi saya rasa yang lain telah membalik program yang direkayasa, oleh karena itu tidak mengetahui mekanisme yang mendasari mereka harus membuat tebakan terbaik apa yang harus dilakukan
gwillie
klien rdp android saya (oleh microsoft) berfungsi lebih baik di ponsel saya daripada rdp linux apa pun di laptop i7 saya
Kenneth Wilke

Jawaban:

13
  1. Ada beberapa versi protokol RDP:

    • asli 4.0, yang merupakan tiruan dari protokol ITU-T T.128
    • 5.0 - yang masih digunakan oleh rdesktop (dan bahkan tidak sepenuhnya)
    • 5.1, 5.2, 6.0, 6.1, 7.0, 8.1 dan 8.1

Seperti yang dapat Anda bayangkan, setiap versi baru RDP lebih baik, tidak hanya dengan memperkenalkan fitur-fitur baru, tetapi juga dengan lebih meningkatkan kinerja dan pengalaman pengguna secara keseluruhan.

  1. Seperti yang saya tulis di atas, rdesktop masih mengimplementasikan hanya sebagian dari protokol RDP 5.0 (versi yang digunakan pada Windows 2000). Versi ini kurang dioptimalkan daripada setidaknya 6.0 (dirilis dengan Windows Vista), yang merupakan peningkatan kinerja yang sangat besar.

  2. Selain itu, seluruh sistem jendela X11 yang digunakan di Linux adalah sekelompok aplikasi userland, sementara Microsoft Windows memproses peristiwa grafik (seperti pengguliran layar) langsung di kernelnya.

Pengguliran layar (dan jendela aplikasi) adalah operasi yang membutuhkan penyalinan banyak konten memori dari satu tempat ke tempat lain. Operasi ini jauh lebih cepat di kernel sistem, daripada di aplikasi userland.

Dan ini juga mempengaruhi kinerja setiap implementasi RDP.

Tomasz Klim
sumber
Terima kasih, tetapi bagaimana dengan FreeRDP? Versi RDP mana yang diterapkan?
niutech
1
Saya menemukan beberapa informasi berbeda tentang FreeRDP, tetapi mungkin mendukung subset 7.0 atau 7.1. Jika Anda punya waktu, di sini Anda memiliki informasi lebih lanjut tentang itu: github.com/FreeRDP/FreeRDP/wiki/Reference-Documentation
Tomasz Klim
Apakah ada kemajuan dalam hal itu akhir-akhir ini?
Royi
Mengapa pengguliran layar lambat atau membutuhkan banyak penyalinan memori alih-alih gpu blt ops sederhana untuk memindahkan konten dan kemudian menggambar konten yang baru terlihat?
whitneyland
0

Seperti yang Anda lihat dari jawaban gwilli, RDP bukan RDP karena ada banyak versi protokol yang berbeda dengan banyak ekstensi dan klien dan server sedang bernegosiasi untuk versi protokol yang sama-sama mereka pahami.

Adalah sifat dari hal-hal yang mungkin disetujui oleh dua versi Windows pada versi protokol yang lebih baru dan berkinerja lebih baik.

Saya tidak bisa mengatakan sesuatu yang memenuhi syarat mengenai kinerja klien RDP Linux, karena saya tidak tahu adanya tolok ukur mengenai implementasi RDP open source. Jika Anda ingin membandingkan klien, Anda harus melihat perpustakaan mana yang digunakan klien dan bukan hanya klien. Ini akan membuat pencarian Anda lebih efisien.

Lemon Jodka
sumber