Tôi có ấn tượng rằng toàn bộ màn hình được chuyển tiếp, bất kể chuyện gì đang xảy ra. Sau đó, chuyển tiếp X11 phải là bất khả tri ứng dụng.
Không, nó thực sự ngược lại. Lý do chuyển tiếp X11 được gọi là "chuyển tiếp X11" là vì nó vận chuyển các thông điệp giao thức X thực tế được sử dụng bởi các ứng dụng để hiển thị các cửa sổ của chúng trên "máy chủ X" (thường là Xorg). Những thông điệp này là các lệnh để tạo / di chuyển các cửa sổ, vẽ văn bản và nguyên thủy đồ họa (đường / hình chữ nhật), vẽ bitmap, v.v.
Bạn có thể nói về mặt khái niệm nó trái ngược với các giao thức "hình ảnh toàn màn hình" như VNC / RFB. Tôi nghĩ rằng nó có thể so sánh với RDP của Windows, cũng được tạo ra để vận chuyển các lệnh vẽ GDI.
Vì vậy, lý do bạn thấy sự khác biệt giữa các chương trình là:
Để trích dẫn bài đăng mà bạn đã tham chiếu, ban đầu hầu hết các chương trình dựa trên X đều hoạt động như thế này:
Về cơ bản X11 không gửi màn hình tới máy tính của bạn, nhưng nó sẽ gửi hướng dẫn hiển thị để máy chủ X trên máy tính cục bộ của bạn có thể tạo lại màn hình trên hệ thống cục bộ của bạn.
Vì vậy, khi một chương trình muốn hiển thị một nút, nó chỉ gửi một vài lệnh ngắn - "vẽ hình chữ nhật", "vẽ văn bản" và có lẽ một số dòng để làm cho nó trông giống 3D.
Theo thời gian, điều này đã thay đổi, các chương trình bắt đầu tự thực hiện kết xuất và nhiều hướng dẫn đó đã trở thành "đây là một bitmap mà tôi đã kết xuất, đưa nó lên màn hình" - rất nhanh cục bộ, nhưng rất chậm qua mạng do X11 không có Nén hình ảnh.
Điều này có nghĩa là các chương trình được xây dựng bằng bộ công cụ hiện đại chậm hơn nhiều so với X11 được nối mạng, ngay cả khi đó là thứ gì đó cơ bản như phông chữ được khử răng cưa.
(Ngược lại, RDP đã điều chỉnh theo thời gian và bao gồm nhiều hình thức nén hình ảnh khác nhau như JPEG và thậm chí H.264; bạn thường có thể nhận thấy các tạo tác nén trong khi tải hình ảnh đầy đủ.)
May mắn thay, hầu hết các bộ công cụ UI như GTK đều thực hiện theo dõi thiệt hại để chỉ các khu vực được cập nhật mới được gửi lại. Tuy nhiên, một số chương trình (như một số phiên bản Firefox / Thunderbird), không hỗ trợ điều này và yêu cầu kết xuất lại toàn bộ cửa sổ, ngay cả khi nó chưa thực sự được cập nhật.
Đó là một sự khác biệt khác giữa các chương trình - những chương trình hoạt động tốt vẫn có thể sử dụng được qua mạng, nhưng những chương trình lỗi có thể bão hòa một liên kết 100 Mbps hoàn toàn không có ích gì.