Bất cứ khi nào tôi khởi chạy từ xa các GUI lớn với chuyển tiếp X11, thậm chí bao gồm cả chuyển đổi -C, trải nghiệm này rất không phản hồi. Câu hỏi của tôi là, những gì, ở cấp độ khái niệm / giao thức gây ra điều này?
Với kết nối 25mbit của tôi, tôi hoàn toàn có thể truyền phát video HD đến máy tính của mình mà không gặp vấn đề gì. Mặt khác, sự không phản hồi của GUI được khởi chạy từ xa với chuyển tiếp X11 xảy ra ngay cả trên mạng LAN 100mbit, trong đó độ trễ phải gần bằng không.
Tôi hiểu rằng trái ngược với truyền phát video, độ trễ sẽ tăng gấp đôi (vì đầu vào cần phải được gửi đến máy từ xa và chỉ sau đó, tiếng vỗ tay mới có thể đáp ứng), nhưng bên trong, có những yếu tố khác làm tăng độ trễ thêm nữa?
Thứ hai, băng thông. Tại sao nó ăn quá nhiều của nó? Khi nói đến định dạng hình ảnh và video, nhiều phương pháp được sử dụng để giảm đáng kể kích thước.
Ví dụ, trong trường hợp .bmp so với .png, một hình ảnh vuông lớn màu đen sẽ chiếm ít hơn trong biểu diễn .png vì thông tin không được lưu trữ cho mỗi pixel, nhưng theo cách hiểu của tôi.
Trong trường hợp video, toàn bộ thông tin có thể được lưu bằng cách gửi sự khác biệt giữa các khung thay vì toàn bộ khung.
Tôi biết điều này rất đơn giản, nhưng X11 không sử dụng các phương thức này? Nó hoạt động theo nguyên tắc bitmap-ish hoặc không phân biệt ở một mức độ nào đó? Và nếu không, tại sao nó lại chiếm quá nhiều băng thông?
ssh -Y -c blowfish
để tối thiểu hóa chi phí trong khi vẫn mã hóa. Nếu bạn có toàn quyền kiểm soát cả hai đầu, hãy dạy ssh sử dụng mã hóa "none" để có tốc độ truyền đầy đủ trên kết nối.