এক্স 11 ফরওয়ার্ডিং কেন এত অদক্ষ?


97

আমি যখনই X11 ফরোয়ার্ডিং সহ এমনকি বড়-বড় জিইউআই চালু করি, এমনকি -সি স্যুইচ সহ, অভিজ্ঞতাটি খুব প্রতিক্রিয়াহীন। আমার প্রশ্ন, ধারণা / প্রোটোকল স্তরে কী ঘটে?

আমার 25 এমবিট সংযোগের সাথে, আমি কোনও সমস্যা ছাড়াই আমার কম্পিউটারে এইচডি ভিডিওটি স্ট্রিম করতে পারি। অন্যদিকে, এক্স 11 ফরোয়ার্ডিং সহ দূরবর্তীভাবে চালু হওয়া জিইউআইয়ের প্রতিক্রিয়াহীনতা এমনকি 100 মিমি ল্যানের উপরেও ঘটে, যেখানে বিলম্বটি শূন্যের কাছাকাছি হওয়া উচিত।

আমি বুঝতে পারি যে ভিডিও স্ট্রিমিংয়ের বিপরীতে, ল্যাটেন্সিটি সর্বোপরি দ্বিগুণ হয়ে যাবে (যেহেতু ইনপুটটি দূরবর্তী মেশিনে প্রেরণ করা দরকার এবং তারপরেই অ্যাপ্লিকেশনটি সাড়া দিতে পারে), তবে অভ্যন্তরীণভাবে, এমন আরও কিছু কারণ রয়েছে যা বিলম্বকে আরও বাড়িয়ে তোলে আরও?

দ্বিতীয়ত, ব্যান্ডউইথ। কেন এটি এত খায়? যখন এটি চিত্র এবং ভিডিও ফর্ম্যাটগুলির কথা আসে, আকারটি মারাত্মকভাবে হ্রাস করতে অনেকগুলি পদ্ধতি ব্যবহৃত হয়।

উদাহরণস্বরূপ .bmp বনাম .png এর ক্ষেত্রে, একটি বড় কালো বর্গক্ষেত্র চিত্র .png উপস্থাপনায় কম পরিমাণে পদক্ষেপ নেবে কারণ তথ্য প্রতিটি একক পিক্সেলের জন্য সংরক্ষণ করা হয় না, তবে যতদূর আমি বুঝতে পেরেছি way

ভিডিওর ক্ষেত্রে পুরো ফ্রেমের চেয়ে ফ্রেমের পার্থক্য প্রেরণ করে পুরো প্রচুর তথ্য সংরক্ষণ করা যায়।

আমি জানি এটি খুব সরল, তবে এক্স 11 এই পদ্ধতিগুলি ব্যবহার করছে না? এটি কোনও স্তরে বিটম্যাপ-ইশ বা অ-ডিফারেন্সিয়াল নীতিতে আচরণ করে? এবং যদি তা না হয় তবে কেন এটি এত ব্যান্ডউইথ গ্রহণ করে?


9
ট্রিভিয়া: এক্সপ্রা একটি আকর্ষণীয় পদ্ধতির প্রস্তাব দেয়।
কামিল ম্যাকিয়েরোভস্কি

12
বিটিডাব্লু - "-সি" ব্যবহার করা আপনার সংযোগটি ধীর করবে যদি আপনার লিঙ্কটি যথেষ্ট দ্রুত হয় কারণ সংকোচনে সময় লাগে link "-সি" এর ফলে 100 এমবি উপকৃত হতে পারে তবে সম্ভবত 1 জিবি ক্ষতিগ্রস্থ হবে এবং অবশ্যই 10 জিবি ক্ষতি করবে। এটিও এমন ক্ষেত্রে যে 'ssh' আপনার থ্রুপুটকে ক্ষতিগ্রস্থ করবে - যেমন দ্রুত লিঙ্কগুলির মাধ্যমে কোনও এনক্রিপশন। কম্পিউটার বা সুরক্ষিত অভ্যন্তরীণ-সংযোগের মধ্যে যদি আপনার সরাসরি সংযোগ থাকে তবে টিসিপি: 6000 এর মাধ্যমে আপনার এক্স সংযোগের সাথে সরাসরি যান। আপনি একটি লক্ষণীয় গতি উন্নতি পাবেন।
আস্তারা

2
আপনি এসএসএইচ এর মাধ্যমে ফরোয়ার্ড করছেন এমন শোনার জন্য, যা সমস্ত ডেটা এনক্রিপ্ট / ডিক্রিপ্ট করতে হবে। এটি ওভারহেড / লেটেন্সি যুক্ত করতে চলেছে। দ্রুত প্রসেসরগুলি সাহায্য করতে পারে তবে আপনি যা-ই করুন না কেন, এটি একটি নির্দিষ্ট পরিমাণ বিলম্বকে যুক্ত করবে। এক্স খুব "চ্যাটি", তাই বিলম্বিতায় সামান্য বৃদ্ধি = পারফরম্যান্সে উল্লেখযোগ্য হ্রাস। অতীতে, আমি এক্স ব্যবহার করতে সক্ষম হয়েছি, এসএসএইচ দিয়ে একটি 28.8 মডেমের মাধ্যমে টানেল করেছিলাম; যেটি lbxproxy ব্যবহার করছিল (এখন অবহেলিত) যা প্রচুর ডেটা ক্যাশেড / সংকুচিত করে এবং সংযোগের "চ্যাটিনেস" হ্রাস করে। -সি ব্যবহার করা কেবলমাত্র আরও বেশি বিলম্ব করতে পারে।
মেওয়ার 68

ssh -Y -c blowfishএনক্রিপ্ট করার সময় ওভারহেডকে ন্যূনতম করার মতো কিছু ব্যবহার করুন । আপনার যদি উভয় প্রান্তের সম্পূর্ণ নিয়ন্ত্রণ থাকে তবে সংযোগে সম্পূর্ণ স্থানান্তর গতি পেতে ssh "" কিছুই নয় "এনক্রিপশন ব্যবহার করতে শিখান।
থরবজর্ন রাভন অ্যান্ডারসন

উত্তর:


116

এক্স 11 প্রোটোকলটি কখনই নিবিড় ক্রিয়াকলাপগুলি (বিটম্যাপস / টেক্সচারের ক্ষেত্রে) হ্যান্ডেল করার উদ্দেশ্যে নয় to আগের দিন যখন এক্স 11 প্রথম ডিজাইন করা হয়েছিল কম্পিউটার গ্রাফিকগুলি আজকের চেয়ে অনেক সহজ ছিল।

মূলত এক্স 11 আপনার কম্পিউটারে স্ক্রিন প্রেরণ করে না, তবে এটি প্রদর্শন-নির্দেশাবলী প্রেরণ করে যাতে আপনার স্থানীয় কম্পিউটারের এক্স-সার্ভারটি আপনার স্থানীয় সিস্টেমে স্ক্রিনটি পুনরায় তৈরি করতে পারে। এবং এটি প্রদর্শনের প্রতিটি পরিবর্তন / রিফ্রেশে করা দরকার।
সুতরাং আপনার কম্পিউটার নির্দেশাবলীর একটি স্ট্রিম গ্রহণ করবে যেমন "স্থানাঙ্কগুলি x, y থেকে (xx, yy) থেকে এই রঙের রেখা আঁকুন, আয়তক্ষেত্রাকার W পিক্সেল প্রশস্ত করুন, এইচ পিক্সেল উপরের-বাম কোণে (x, y) ইত্যাদি। "
স্থানীয় ক্লায়েন্টকে কী আপডেট করতে হবে তা সত্যই সচেতন নয় এবং ক্লায়েন্টের আসলে কী প্রয়োজন তা সম্পর্কে রিমোট সিস্টেমে খুব কম তথ্য রয়েছে, তাই মূলত সার্ভারকে অবশ্যই ক্লায়েন্টের প্রয়োজন হতে পারে বা নাও হতে পারে এমন প্রচুর অপ্রয়োজনীয় তথ্য পাঠাতে হবে।
এটি অত্যন্ত দক্ষ যদি ডিসপ্লেটি রেন্ডার করা হয় তবে সীমিত সংখ্যক সাধারণ গ্রাফিকাল আকার থাকে এবং কেবলমাত্র একটি স্বল্প ফ্রেশ ফ্রিক্যোয়েন্সি (কোনও অ্যানিমেশন এবং এ জাতীয় নয়) প্রয়োজন হয়। এক্স 11 যখন প্রথম বিকাশ হয়েছিল সে দিনগুলিতে যা আগের ঘটনা ছিল।

তবে আধুনিক জিইউআইতে প্রচুর আই-ক্যান্ডি রয়েছে এবং এর অনেক কিছুই আপনার ক্লায়েন্টকে বিটম্যাপস / টেক্সচার / ফন্ট আকারে রিমোট সিস্টেম থেকে আপনার ক্লায়েন্টে প্রেরণ করা দরকার যা ব্যান্ডউইদথকে অনেক বেশি লাগে। এবং সমস্ত ধরণের চক্ষু-ক্যান্ডির সাথে অবিচ্ছিন্ন আপডেটের প্রয়োজন হয় এমন অ্যানিমেটেড প্রভাব অন্তর্ভুক্ত। এবং প্রদর্শনগুলি আরও বড় হতে থাকে, দ্বিগুণ প্রশস্ত / উচ্চ পিক্সেলের সংখ্যার চেয়ে 4x হয়।

অবশ্যই, সময়ের সাথে সাথে X11 প্রোটোকলটিকে যতটা সম্ভব অপ্টিমাইজ করার জন্য উন্নত করা হয়েছিল, তবে বেসিক অন্তর্নিহিত নকশাটি মোটামুটিভাবে বলা যায় যে আজকাল জিইউআইয়ের লোকেরা যে ধরণের প্রত্যাশা করে তার দাবির সাথে এটি যথাযথভাবে উপযুক্ত নয়।

অন্যান্য প্রোটোকলগুলি (যেমন আরডিপি এবং ভিএনসি) দূরবর্তী সিস্টেমকে সমস্ত কঠোর পরিশ্রম করতে দেয় এবং সেই সিস্টেমটিকে সিদ্ধান্ত নিতে দেয় যে ক্লায়েন্টকে কোন আপডেটগুলি পাঠানো হবে (যতটা সংকোচিত বিটম্যাপস) যথাসম্ভব দক্ষতার সাথে করা উচিত। প্রায়শই এটি আধুনিক জিইউআই এর জন্য আরও দক্ষ হতে দেখা যায়।

কোনও পদ্ধতিই নিখুঁত নয় এবং প্রতিটি পরিস্থিতি সমানভাবে ডিল করতে পারে। একক প্রদর্শন-প্রোটোকলের মতো কোনও জিনিস নেই যা প্রতিটি অনুমেয় ব্যবহারের ক্ষেত্রে ভাল করতে পারে।
সুতরাং বেশিরভাগ ক্ষেত্রে আপনি কেবলমাত্র আপনার স্থানীয় ক্লায়েন্ট এবং রিমোট সার্ভারের মধ্যে সমর্থিত সমস্ত প্রোটোকল চেষ্টা করে দেখুন এবং সেরা ফলাফল দেয় এমন একটি ব্যবহার করেন। এবং কিছু ক্ষেত্রে কোনও বিকল্প নেই এবং যা যা পাওয়া যায় তার সাথে আপনাকে কেবল করতে হবে।

বেশিরভাগ প্রোটোকলগুলি কিছু পারফরম্যান্স টিউনিং করার অনুমতি দেয় তবে এর মধ্যে অনেকগুলি সেটিংস কেবল সার্ভার-সাইড এবং গড় ব্যবহারকারীর জন্য উপলভ্য নয়। (এবং এগুলিকে সঠিকভাবে কনফিগার করা হ'ল একটি আরকেন আর্ট A অনেক সিস-অ্যাডমিনরা এতে জড়িত হতে রাজি হবে না))

বেশিরভাগ ক্ষেত্রে কর্মক্ষমতা উন্নয়নের সবচেয়ে সহজ উপায় (কখনও কখনও বেশ নাটকীয়ভাবে) হ'ল কম চোখের ক্যান্ডি সহ একটি আরও সাধারণ ডেস্কটপ পরিবেশে স্যুইচ করা এবং পটভূমির চিত্রগুলি ব্যবহারের পূর্বেই।


15
+1 যেহেতু আরডিপি এবং ভিএনসি উল্লেখ করা হয়েছে, আমার xxo এরও উল্লেখ করা উচিত যা X11 ক্যাচিং / ফরোয়ার্ডিং সমাধান যা X11 ফরোয়ার্ডিংকে সত্যিই গতি দেয়। আমি এটি অতীতে সাফল্যের সাথে ব্যবহার করেছি।
রথ

7
শেষের কাছে "সার্ভার-সাইড কেবলমাত্র সেটিংস" সম্পর্কিত, স্মরণ করুন যে এক্স সার্ভারটি ফিজিকাল ডিসপ্লেতে সংযুক্ত কম্পিউটারে চলে এবং এক্স ক্লায়েন্টটি এমন কোনও সফ্টওয়্যার যা কোনও কাজ সম্পাদন করতে ব্যবহৃত হয় (উদাহরণস্বরূপ ওয়েব ব্রাউজার বা ওয়ার্ড প্রসেসর) )। সুতরাং এক্স সার্ভার সেটিংস কোনও গ্রাফিকাল অ্যাপ্লিকেশন চালানোর জন্য রিমোট সিস্টেমে সংযুক্ত ব্যবহারকারীর কাছে অ্যাক্সেসযোগ্য হবে। এটি অবশ্য আপনার উত্তরের মান থেকে উল্লেখযোগ্যভাবে হ্রাস পাবে না।
একটি সিভিএন

2
প্রযুক্তিগতভাবে প্রোটোকলটি আরএনবি, ভিএনসি নয়।
অরেঞ্জডগ

6
আমি কি ভুল বা আপনি ক্লায়েন্ট এবং সার্ভারকে আপনার দ্বিতীয় অনুচ্ছেদে বিভ্রান্ত করছেন? ক্লায়েন্টটি হ'ল প্রোগ্রামটি দূর থেকে চলছে, সার্ভারটি হ'ল লোকাল মেশিন।
জোনাস শোফার

2
তৃতীয় অনুচ্ছেদে আপনি যা আবৃত করেছেন তা ১৯৯০ এর দশকে বেশিরভাগ ক্ষেত্রে প্রশমিত হয়েছিল কারণ এক্স সার্ভার চালিত মেশিনগুলির পর্যাপ্ত মেমরি থাকতে শুরু করে যা ব্যাকিং স্টোরকে সক্ষম করে তোলা একটি ব্যবহারিক জিনিস হয়ে ওঠে।
blrfl

45

এক্স 11 সংযোগগুলি ধীর হওয়ার জন্য প্রাথমিকভাবে দুটি কারণ রয়েছে যা উভয়ই আপনি আপনার প্রশ্নে স্পর্শ করেছেন: ব্যান্ডউইথ এবং বিলম্বিতা। X11 অ্যাপ্লিকেশনগুলি কেন কোনও নেটওয়ার্কের চেয়ে ধীর।

ব্যান্ডউইথ

এক্স 11, ডিফল্টরূপে, অ্যাপ্লিকেশন এবং ডিসপ্লে সার্ভারের মধ্যে পাস হওয়া নেটওয়ার্ক ডেটাতে কোনও সংক্ষেপণ করে না। যেমনটি আপনি উল্লেখ করেছেন, আপনি সংক্ষেপণ সক্ষম করতে এসএসএইচে -C বিকল্পটি ব্যবহার করতে পারেন এবং এটি যখন সহায়তা করে তবে গ্রাফিকাল ডেটা সংকুচিত করার জন্য এটি অনুকূলিত নয়। এইচ .264 এর মতো ফর্ম্যাটগুলির সাথে তুলনা করা যা 100 থেকে 1 এর সংকোচনের হার অর্জন করতে পারে, -সি সংক্ষেপণ 2 থেকে 1 সংক্ষেপণ অর্জনে ভাগ্যবান হবে। এক্স 11 ভিডিওর জন্য একটি গ্রাফিক্স বা ভিডিও অপ্টিমাইজড কোডেক ব্যবহার করা আরও ভাল সমাধান, তবে আমাদের এটিকে খুব ক্ষতিগ্রস্থ না করার বিষয়ে সতর্কতা অবলম্বন করতে হবে কারণ ডেস্কটপগুলিতে সাধারণত একটি সিনেমার চেয়ে ধারালো চিত্র থাকা দরকার যাতে ব্যবহারকারী এখনও স্পষ্টভাবে পাঠটি পড়তে পারেন এবং সূক্ষ্ম বিবরণ করা।

অদৃশ্যতা

এক্স 11 উচ্চ বিলম্বিত হতে থাকে কারণ বেশিরভাগ ক্রিয়াকলাপে অ্যাপ্লিকেশন এবং ডিসপ্লে সার্ভারের মধ্যে একাধিক রাউন্ড ট্রিপ প্রয়োজন require ল্যান জুড়ে যখন চালানো হয় যেখানে পিং সময়গুলি মিলিসেকেন্ডের চেয়ে কম পরিমাপ করে তবে এই একাধিক রাউন্ড ট্রিপগুলি লক্ষণীয় নয়, তবে একটি ইন্টারনেট সংযোগ জুড়ে এগুলি দ্রুত যুক্ত হয়।

সলিউশন

বেশ কয়েক বছর আগে এক্স 11 প্রোটোকলের অন্তর্নিহিত ব্যান্ডউইথ এবং বিলম্বিত সমস্যাগুলি সমাধান করার জন্য কয়েকটি প্রকল্প নির্মিত হয়েছিল। lbx (লো ব্যান্ডউইথ এক্স) এবং dxpc (ডিফারেনটেবল এক্স প্রোটোকল সংক্ষেপক)। আমি মনে করি না যে এলবিএক্স কখনও বেশি ট্র্যাকশন পেয়েছিল, তবে ডিএক্সপিসি এনএক্স নামে একটি পণ্যের জন্য ব্যবহৃত অন্তর্নিহিত প্রযুক্তিতে পরিণত হয়েছিল । এনএক্স ব্যান্ডউইথের প্রয়োজনীয়তা এবং একটি ডিফারেনশিয়াল অ্যালগরিদম এবং ক্যাচিং উভয়কে হ্রাস করতে উভয় ক্ষতিকারক সংকোচনের ব্যবহার করে যাতে পিছনে এবং পরবর্তী তথ্যগুলি পাস করার সংখ্যাকে হ্রাস করে যা উচ্চ মাত্রায় বিলম্বিত করে। আমি প্রায়শই এনএক্স ব্যবহার করেছি এবং স্থানীয় অ্যাপ্লিকেশনগুলির মতো পারফরম্যান্সটি প্রায় ভাল হিসাবে খুঁজে পেয়েছি। যদি আপনি এটির অনুভূতি বোধ করেন তবে আপনি এনএক্স চেষ্টা করে দেখতে পারেন এবং এটি আপনার পক্ষে কাজ করে কিনা। খারাপ দিকটি হ'ল এর জন্য সংযোগের উভয় প্রান্তে সফ্টওয়্যার ইনস্টল করা প্রয়োজন, যখন X11 সাধারণত ইতিমধ্যে ইনস্টল করা থাকে।


3
লেটেন্সি বিষয়ের সাথে জড়িত হ'ল এক্স 11 টিসিপি হতে চলেছে, বেশিরভাগ স্ট্রিমিং ভিডিওর জন্য ইউডিপি বনাম। দূর থেকে কাজ করতে সহায়তা করার জন্য আরও কয়েকটি পণ্য রয়েছে। টনি আরডিপি এবং ভিএনসির কথা উল্লেখ করেছেন। ওরাকল এখনও সান গ্লোবাল ডেস্কটপ (এসজিডি) বিক্রি করে যা ভালভাবে কাজ করে। সিট্রিক্সের কিছু ছিল (জেন অ্যাপ?)। আমাদের ইভল এসজিডিকে আমাদের প্রয়োজনের জন্য আরও ভাল বিকল্প হিসাবে দেখা গেছে, তবে আগে দুটি সিট্রিক্স পণ্য ব্যবহার করেছিল।
স্লিপওয়েসেল

x2go আমার পক্ষে খুব পুরানো ল্যাপটপ "সার্ভার" দিয়ে খুব সুন্দর কাজ করেছে। আপ এবং কয়েক মিনিটের মধ্যে চলমান ... এক্স 11 fwd থেকে পারফরম্যান্সে বড় বৃদ্ধি (আমার কনফিগারেশনের সাথে অযোগ্য)
comte

দেরী অনুসারে, * আইএক্স মেশিনে, স্থানীয় ডিসপ্লেতে এক্স 11 সেশনগুলি সাধারণত টিসিপির পরিবর্তে ইউনিক্স ডোমেন সকেট ব্যবহার করে; ইউনিক্স ডোমেন সকেটগুলি লোকালহোস্ট স্ট্যাকওভারফ্লো . com/ প্রশ্নসন / 14973942/… পর্যন্ত রাউন্ড ট্রিপগুলিতে টিসিপির চেয়ে বহুগুণ দ্রুত । সত্যিই রোগগতভাবে বিপুল সংখ্যক রাউন্ড ট্রিপ সহ এক্স 11 অ্যাপ্লিকেশনগুলির জন্য, এটি ঠিক এবং লক্ষণীয়ভাবে ধীর পারফরম্যান্সের মধ্যে পার্থক্য হতে পারে।
রাকস্লাইস
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.