Ilekroć uruchamiam zdalnie duże GUI z przekazywaniem X11, nawet włączając przełącznik -C, wrażenia nie reagują. Moje pytanie brzmi: co to powoduje na poziomie koncepcji / protokołu?
Dzięki mojemu 25mbitowemu połączeniu mogę bez problemu przesyłać strumieniowo wideo HD do mojego komputera. Z drugiej strony brak reakcji na zdalnie uruchamiane GUI z przekazywaniem X11 zdarza się nawet w 100-bitowej sieci LAN, gdzie opóźnienie powinno być bliskie zeru.
Rozumiem, że w przeciwieństwie do przesyłania strumieniowego wideo opóźnienie będzie w najlepszym razie podwojone (ponieważ dane wejściowe muszą zostać przesłane do zdalnego komputera, a dopiero potem aplikacja może odpowiedzieć), ale wewnętrznie istnieją inne czynniki, które zwiększają opóźnienie nawet dalej?
Po drugie, przepustowość. Dlaczego tak dużo tego zjada? Jeśli chodzi o formaty zdjęć i filmów, stosuje się wiele metod drastycznego zmniejszenia rozmiaru.
Na przykład w przypadku .bmp vs .png duży czarny kwadrat będzie reprezentował znacznie mniej reprezentacji .png, ponieważ informacje nie są przechowywane dla każdego pojedynczego piksela, ale w zakresie, w jakim rozumiem.
W przypadku filmów można zapisać wiele informacji, wysyłając różnicę między klatkami, a nie całymi klatkami.
Wiem, że jest to bardzo uproszczone, ale czy X11 nie używa tych metod? Czy na pewnym poziomie zachowuje się w oparciu o mapę bitową lub zasadę nieróżnicową? A jeśli nie, dlaczego zajmuje tak dużo przepustowości?
ssh -Y -c blowfish
aby zminimalizować narzut przy jednoczesnym szyfrowaniu. Jeśli masz pełną kontrolę nad obydwoma końcami, naucz ssh, aby używało szyfrowania „none”, aby uzyskać pełną prędkość transferu w połączeniu.