जब भी मैं X11 अग्रेषण के साथ बड़े GUI को दूरस्थ रूप से लॉन्च करता हूं, यहां तक कि -सी स्विच सहित, अनुभव बहुत ही अप्रतिसादी होता है। मेरा सवाल यह है कि अवधारणा / प्रोटोकॉल स्तर पर इसका क्या कारण है?
अपने 25mbit कनेक्शन के साथ, मैं अपने कंप्यूटर पर HD वीडियो को बिना किसी समस्या के स्ट्रीम कर सकता हूं। दूसरी ओर, X11 अग्रेषण के साथ दूरस्थ रूप से लॉन्च किए गए GUIs की गैर-सक्रियता 100 मीबिट लैन पर भी होती है, जहां विलंबता शून्य के पास होनी चाहिए।
मैं समझता हूं कि वीडियो स्ट्रीमिंग के विपरीत, विलंबता सबसे अच्छी तरह से दोगुनी हो जाएगी (क्योंकि इनपुट को दूरस्थ मशीन में भेजने की आवश्यकता होती है और उसके बाद ही इसका जवाब मिल सकता है), लेकिन आंतरिक रूप से, अन्य कारक हैं जो विलंबता को भी बढ़ाते हैं आगे की?
दूसरी बात, बैंडविड्थ। यह इतना अधिक क्यों खाती है? जब चित्र और वीडियो प्रारूपों की बात आती है, तो आकार को कम करने के लिए कई विधियों का उपयोग किया जाता है।
उदाहरण के लिए .bmp बनाम। Png के मामले में, एक बड़ी काली वर्गाकार छवि .png प्रतिनिधित्व में कम रास्ता तय करेगी क्योंकि जानकारी हर एक पिक्सेल के लिए संग्रहीत नहीं होती है, लेकिन जहाँ तक मैं समझता हूँ, एक सीमा-ईश तरीके से।
वीडियो के मामले में, पूरे फ़्रेम के बजाय फ़्रेम के बीच अंतर भेजकर पूरी जानकारी को बचाया जा सकता है।
मुझे पता है कि यह बहुत सरल है, लेकिन X11 इन विधियों का उपयोग नहीं कर रहा है? क्या यह किसी स्तर पर बिटमैप-ईश या गैर-अंतर सिद्धांत पर व्यवहार करता है? और यदि नहीं, तो यह इतना बैंडविड्थ क्यों लेता है?
ssh -Y -c blowfish
एन्क्रिप्ट करते समय ओवरहेड को कम करने के लिए कुछ का उपयोग करें । यदि आपके पास दोनों छोरों का पूरा नियंत्रण है, तो कनेक्शन पर पूर्ण हस्तांतरण की गति प्राप्त करने के लिए "कोई नहीं" एन्क्रिप्शन का उपयोग करना सिखाएं।