Tại sao các máy khách RDP trên Linux chậm hơn nhiều so với trên Windows?


10

Tôi có một máy tính từ xa Windows 8.1 mà tôi đang kết nối bằng RDP từ các máy khách Windows 7 và Linux. Tôi nhận thấy rằng hiệu suất, ví dụ như khi cuộn trên Windows tốt hơn nhiều so với bất kỳ bản phân phối Linux nào. Tôi đang sử dụng rdesktop, Remmina, Gnome-RDP, ở mọi nơi, việc làm mới màn hình rất chậm và khó hiểu, như VNC. Nhưng RDP không hoạt động như VNC , hay không? Tại sao nó lại như vậy và máy khách RDP nhanh nhất cho Linux là gì? Có lẽ Remote Desktop Connection Client dưới Wine?


2
RDP là một giao thức độc quyền nên tôi đoán những người khác đã đảo ngược các chương trình của họ, do đó không biết các cơ chế cơ bản mà họ sẽ phải đoán chính xác nên làm gì
gwillie 29/07/2015

Máy khách Android của tôi (bởi microsoft) hoạt động tốt hơn trên điện thoại của tôi so với bất kỳ máy chủ linux nào trên máy tính xách tay i7 của tôi
Kenneth Wilke

Câu trả lời:


13
  1. Có nhiều phiên bản của giao thức RDP:

    • bản gốc 4.0, là bản sao của giao thức ITU-T T.128
    • 5.0 - vẫn được sử dụng bởi rdesktop (và thậm chí không đầy đủ)
    • 5.1, 5.2, 6.0, 6.1, 7.0, 8.1 và 8.1

Như bạn có thể tưởng tượng, mỗi phiên bản RDP mới tốt hơn, không chỉ bằng cách giới thiệu các tính năng mới, mà còn bằng cách cải thiện hơn nữa hiệu suất và trải nghiệm người dùng nói chung.

  1. Như tôi đã viết ở trên, rdesktop vẫn chỉ thực hiện một tập hợp con của giao thức RDP 5.0 (phiên bản được sử dụng trên Windows 2000). Phiên bản này ít được tối ưu hóa hơn ít nhất 6.0 (được phát hành cùng với Windows Vista), đây là một cải tiến hiệu suất rất lớn.

  2. Ngoài ra, toàn bộ hệ thống cửa sổ X11 được sử dụng trên Linux là một nhóm các ứng dụng người dùng, trong khi Microsoft Windows xử lý các sự kiện đồ họa (như cuộn màn hình) trực tiếp trong kernel của nó.

Cuộn màn hình (và cửa sổ ứng dụng) là thao tác yêu cầu sao chép nhiều nội dung bộ nhớ từ nơi này sang nơi khác. Hoạt động này nhanh hơn nhiều trong nhân hệ thống, so với trong các ứng dụng người dùng.

Và điều này cũng ảnh hưởng đến hiệu suất của từng triển khai RDP.


Cảm ơn, nhưng FreeRDP thì sao? Phiên bản RDP nào nó thực hiện?
niutech

1
Tôi đã tìm thấy một số thông tin khác nhau về FreeRDP, nhưng có lẽ nó hỗ trợ tập hợp con 7.0 hoặc 7.1. Nếu bạn có thời gian, ở đây bạn có thêm thông tin về điều đó: github.com/FreeRDP/FreeRDP/wiki/Reference-Documentation
Tomasz Klim

Gần đây có tiến triển gì không?
Royi

Tại sao cuộn màn hình phải chậm hoặc yêu cầu sao chép nhiều bộ nhớ thay vì gpu blt ops đơn giản để di chuyển nội dung và sau đó vẽ nội dung vừa nhìn thấy?
whitneyland

0

Như bạn có thể thấy từ câu trả lời của gwilli, RDP không phải là RDP vì có nhiều phiên bản giao thức khác nhau với nhiều phần mở rộng và máy khách và máy chủ đang đàm phán cho một phiên bản giao thức mà cả hai đều hiểu.

Đó là bản chất của hai thứ mà hai phiên bản Windows có thể đồng ý về một phiên bản mới hơn và hoạt động tốt hơn của giao thức.

Tôi không thể nói bất cứ điều gì đủ điều kiện về hiệu suất của máy khách RDP của Linux, vì tôi không biết về bất kỳ điểm chuẩn nào liên quan đến việc triển khai RDP nguồn mở. Trong trường hợp bạn muốn so sánh các máy khách, bạn nên xem các thư viện cơ bản nào mà máy khách sử dụng và không chỉ máy khách. Điều này sẽ làm cho tìm kiếm của bạn hiệu quả hơn.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.