টার্মিনাল এমুলেটরটি টিটিওয়াই 1-6 এর মতো দ্রুততর হতে পারে?


59

আমি বিল্ট-ইন গনোম-টার্মিনাল, অটারম, এক্সটারম, ডাব্লিউএম থেকে শুরু করে আরএক্সভিটি পর্যন্ত বিভিন্ন টার্মিনাল এমুলেটর চেষ্টা করছি। আমি যে পরীক্ষাটি করে যাচ্ছি তা হ'ল এই ক্রমে:

  1. 2 টি প্যান সহ একটি টিএমউक्स উইন্ডো খুলুন
  2. বাম ফলকটি একটি ভার্পোস-নিবিড় কাজ যেমন grep a /et/c -rবা সরল হবেtime seq -f 'blah blah %g' 100000
  3. ডান ফলকটি সিনট্যাক্স সহ একটি ভিআইএম উইন্ডো হবে, যে কোনও ফাইলের> 100 লাইন কোডেরও বেশি রয়েছে ওপেন করা হবে।

যখন বাম ফলকটি অনেক আউটপুট মুদ্রণ করছে, ডান ফলকটি খুব ধীর এবং প্রতিক্রিয়াশীল বলে মনে হচ্ছে, আমি ভিমে স্ক্রোল করার চেষ্টা করেছি তবে এটি পরিবর্তিত হতে 1-2 সেকেন্ড সময় লাগে। আমি যখন CtrlCবাম ফলকে টিপতে চেষ্টা করি তখন এটি থামার আগে এটি 10 ​​সেকেন্ডেরও বেশি অপেক্ষা করে

আমি যখন টিটিওয়াইতে ( CTRL+ ALT+ ( F[1-6]) টিপতে একই জিনিসটি করি তখন তা ঘটে না এবং উভয় অংশই খুব প্রতিক্রিয়াশীল।

আমি কিছু কনফিগার যেমন অ্যান্টিয়ালিয়াস ফন্ট, রঙ পরিবর্তন, ডিফল্ট সেটিংস ব্যবহার, এবং এক্সমোনাদ এবং ওপেনবক্সে পরিবর্তন করেছি, তবে এটি কোনও পরিবর্তন করে না।

time seq -f 'blah blah %g' 100000এই টার্মিনালগুলির মধ্যে ফলাফলটি সত্যিই আলাদা নয়, বিশেষত যখন আমি স্পিটেড পেন টিএমাক্স (বা অন্যান্য মাল্টিপ্লেক্সার) চালাচ্ছি তখন প্রতিক্রিয়াটি সত্যিই আলাদা। এফওয়াইআই, আমি তাদের সকলকে একটি সর্বাধিক মোডে চালাচ্ছি।

আমি ফ্রেম বাফার টার্মিনালগুলি সম্পর্কে পড়েছি তবে কীভাবে এটি কাজ করে এবং কীভাবে এটি আমার টার্মিনাল এমুলেটরের গতি বাড়ানোর জন্য ব্যবহার করা যেতে পারে তা নিশ্চিত নয়।

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


মনে হচ্ছে কোথাও বড় বাফার আছে
থরবজর্ন রাভন অ্যান্ডারসন

2
লক্ষ্য করুন tty [1-6] সর্বদা প্রাকৃতিকভাবে দ্রুত হয় না । যে মেশিনগুলি আমি ব্যবহার করছি তার একটিতে, একটি এক্সটার্ম শালীনভাবে সম্পাদন করার সময় পাঠ্য কনসোলটি খুব ধীরে ধীরে।
友情 留 在 无

উত্তর:


75

যখন জিইউআই টার্মিনাল এমুলেটর একটি স্ট্রিং প্রিন্ট করে, তখন স্ট্রিংটিকে ফন্ট কোডপয়েন্টে রূপান্তর করতে হয়, একটি ফন্ট রেন্ডারারে কোডপয়েন্টস প্রেরণ করতে হয়, একটি বিটম্যাপ ফিরে পেতে এবং এক্স সার্ভারের মাধ্যমে ডিসপ্লেতে সেই বিটম্যাপটি ব্লিট করতে হয়।

হরফ রেন্ডারারকে গ্লাইফগুলি পুনরুদ্ধার করতে হবে এবং সেগুলি চালাতে হবে (আপনি কি জানেন যে ট্রুইটাইপ / ওপেনটাইপ ফন্টগুলি ফন্ট রেন্ডারারের একটি ভার্চুয়াল মেশিনের ভিতরে চলমান প্রোগ্রামগুলি ?)। প্রতিটি গ্লাইফ চালানোর প্রক্রিয়া চলাকালীন, ফন্ট ম্যাট্রিক্স, কার্নিং (যদিও মোনস্পেস ফন্ট এবং কার্নিং ভালভাবে মিশে না), ইউনিকোড সম্মতি, এবং এটি এমনকি আমরা রাস্টারাইজারে পৌঁছানোর আগেই সম্ভবত সাব ব্যবহার করে এমন একটি পাগল সংখ্যক সিদ্ধান্ত নেওয়া হয় and -পিক্সেল ঠিকানা। টার্মিনালটির পরে ফন্ট রাস্টারাইজারের দ্বারা উত্পাদিত বাফারটি নিয়ে পিক্সেল ফর্ম্যাট রূপান্তর, আলফা চ্যানেলগুলি (সাব-পিক্সেল সম্বোধনের জন্য), স্ক্রোলিং (যার মধ্যে আরও ব্লিটিং জড়িত রয়েছে), এবং সিটিএর যত্ন নিয়ে এটি সঠিক জায়গায় ব্লিট করতে হবে ।

তুলনায়, (দ্রষ্টব্য: পাঠ্য মোডে একটি ভার্চুয়াল টার্মিনাল চলমান করার জন্য একটি স্ট্রিং লেখা না একটি গ্রাফিকাল কনসোল) ভিডিও মেমরি স্ট্রিং লেখার জড়িত থাকে। 'ওহে বিশ্ব!' 13 বাইট লেখার সাথে জড়িত (আপনি যদি রঙও চান তবে 13 16-বিট শব্দ)। এক্স ফন্ট রাস্টারাইজার এমনকি তার প্রসারিত অনুশীলন এবং কড়া ফাটানো এখনও শুরু করেনি, এবং আমরা সম্পন্ন করেছি। এই কারণেই দশক আগে পাঠ্য মোডটি অবিশ্বাস্যরূপে গুরুত্বপূর্ণ ছিল। এটি বাস্তবায়ন খুব দ্রুত। এমনকি আপনার ভাবার চেয়েও স্ক্রোলিং সহজ: শ্রদ্ধেয় মোটরোলা 6845 ভিত্তিক এমডিএ এবং সিজিএতেও আপনি কোনও রেজিস্টারকে 8 টি-বিট মান লিখে স্ক্রিনটি উল্লম্বভাবে স্ক্রোল করতে পারেন (16 টি হতে পারে ... এটি অনেক দিন হয়ে গেছে)। স্ক্রিন রিফ্রেশ সার্কিট্রিবাকি কাজ আপনি মূলত ফ্রেম বাফারের শুরু ঠিকানাটি পরিবর্তন করেছিলেন।

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

আপডেট: টার্মিনালটি কীভাবে ত্বরান্বিত করা যায়

@ পোয়েজ ইতিমধ্যে তার উত্তরে তিনটি উল্লেখ করেছেন , তবে এখানে আমার নিজের মতামতটি দেওয়া হয়েছে:

  • টার্মিনালের আকার হ্রাস করুন। আমার নিজের টার্মিনালগুলি স্ক্রিনগুলি পূরণ না হওয়া অবধি বাড়তে থাকে এবং তারা এটি করার সাথে সাথে ধীর হয়ে যায়। গ্রাফিকাল টার্মিনালগুলিতে আমি বিরক্ত হই, বিরক্ত হই, তারপরে আমি সেগুলির আকার পরিবর্তন করি এবং আরও ভাল। :)
  • (@ পোইজ) একটি ভিন্ন টার্মিনাল এমুলেটর ব্যবহার করুন। কিছু আধুনিক বৈশিষ্ট্য ব্যয় করে আপনি একটি বিশাল গতি বৃদ্ধি পেতে পারেন। xtermএবং rxvtসত্যিই ভাল কাজ, এটি একটি দুর্দান্ত টার্মিনাল এমুলেটর আছে। আমি সন্দেহ করি যে আপনার পরীক্ষাগুলি 'আধুনিক' এর চেয়ে আরও ভাল পারফরম্যান্স দেখিয়েছে।
  • (@ পোইজ) স্কেলযোগ্য ফন্ট ব্যবহার করবেন না। 1986 কল করতে এবং এর টার্মিনালগুলির জন্য ফিরে জিজ্ঞাসা করতে পারে, তবে আপনি তা দ্রুত করতে অস্বীকার করতে পারবেন না। ;)
  • (@ পোইজ) অ্যান্টি-এলিয়াসিং / সাব-পিক্সেল ঠিকানা এবং ইঙ্গিত বন্ধ করে ফন্ট রাস্টারাইজারকে বোবা করুন । তাদের বেশিরভাগ পরিবেশের ভেরিয়েবলগুলিতে ওভাররাইডের অনুমতি দেয়, তাই আপনাকে বিশ্বব্যাপী এটি করতে হবে না। দ্রষ্টব্য: আপনি যদি বিটম্যাপ ফন্ট চয়ন করেন তবে অর্থহীন।
  • এটি সবচেয়ে ক্ষতিগ্রস্থ করবে: ব্যবহার করবেন না (একাধিক প্যানগুলি)tmux - পাশাপাশি দুটি পৃথক টার্মিনাল চালান। যখন tmuxদুটি ফলক প্রদর্শন করা হয়, তখন কার্সারটিকে অনেক কাছাকাছি স্থানান্তরিত করতে টার্মিনাল নির্দেশাবলী ব্যবহার করতে হয়। যদিও আধুনিক টার্মিনাল লাইব্রেরিগুলি খুব দ্রুত এবং অনুকূলকরণে ভাল, তবুও তারা আপনার কাঁচা টার্মিনাল ব্যান্ডউইথ থেকে বাইটগুলি চুরি করছে। ডিসি ভিটি-সামঞ্জস্যপূর্ণ টার্মিনালে কার্সারটিকে একটি স্বেচ্ছাসেবী সারিটিতে স্থানান্তরিত করতে, আপনি প্রেরণ করেন ESC [ row ; col H। এটি 6-10 বাইট। একাধিক টার্মিনাল সহ, আপনি অবস্থান, অপ্টিমাইজেশন, বাফারিং এবং অন্যান্য সমস্ত স্টাফের প্রয়োজনীয়তার জন্য কাজকে আলাদা করে cursesদিচ্ছেন, এবং একাধিক সিপিইউ কোরের আরও ভাল ব্যবহার করছেন।

5
+1, তবে কিছু অতিরিক্ত এস্কেপ কোড প্রেরণের চেয়ে tmux জিনিসটি আরও জটিল। টার্মিনালগুলি পুরো উইন্ডোটি স্ক্রোল করার জন্য বোঝানো হয়, এর অর্ধেক নয়। সুতরাং যখন tmux বাম ফলকের সমস্ত পাঠ্যকে একটি রেখার উপরে সরিয়ে ফেলতে হয়, এটি কেবল একটি নতুন লাইন তৈরি করতে পারে না এবং টার্মিনালটি এটিকে উপরে সরিয়ে দেয়, এটি পুরো ফলকটি আবার আঁকতে হবে।
প্যাট্রিক

1
একদম ঠিক! আমি এটি সম্পর্কে ভুলে গেছি। যদিও আছে টার্মিনাল স্ক্রীনে অংশ স্ক্রল পারে হয়েছে (IIRC এটা বলা হত 'রক্ষা' পর্দার অংশ - এটা ফরম ইত্যাদি জন্য ব্যবহৃত হয়), এটি বিশেষ করে নমনীয় ছিল, এবং সম্ভবত আধুনিক টার্মিনাল emulators দ্বারা সমর্থিত নয়। যদিও আপনি কিছু বাস্তব উদ্ভট অপ্রচলিত নির্দেশাবলী আজও বাস্তবায়িত পেয়েছেন।
অ্যালেক্সিয়স

3 বছর পরে এটির জবাব দিন তবে আশা করি কেউ এটি দরকারী বলে মনে করছেন। আমি যখন আমার ভিমে উল্লম্বভাবে বিভক্ত করি তখনই আমি ল্যাগটি লক্ষ্য করি (হ্যাঁ, এমনকি এনইআরডিডিট্রি) তবে সাধারণ বিভাজনটি স্ক্রোল করার সময় মোটেই ইস্যু বলে মনে হয় না।
shriek

17

ইতিমধ্যে @ অ্যালেক্সিয়স সমস্ত কারণগুলি বেশ ভালভাবে বর্ণনা করেছেন, আমি বেশ কয়েকটি বিষয় উল্লেখ করতে পারি, যা তুলনামূলকভাবে ব্যথা উপশম করে:


1
এছাড়াও, এবং এটি বেদনাদায়ক এক, টার্মিনালের আকার হ্রাস করুন (ওপি 1920x1200px উইন্ডো ব্যবহার করছে)। আমি বড় টার্মিনালগুলিকে পছন্দ করি এবং আমার পর্দার মতো প্রায় বড় হওয়া অবধি তার প্রবণতা বাড়তে থাকে তবে টার্মিনাল বাড়ার সাথে সাথে টার্মিনালের গতি হ্রাস পায়। এমনকি konsole(যা আমি পছন্দ করি)।
অ্যালেক্সিয়স

3
konsoleঅলস স্ক্রিন আপডেটগুলি করে: তাত্ক্ষণিকভাবে আউটপুট প্রদর্শন করার পরিবর্তে এটি আরও আউটপুটের জন্য কিছুটা সময় অপেক্ষা করে, যাতে "ব্যাচ" আপডেট হয়। এটি কেন ওপিটির স্ট্রেস টেস্টের সাথে পুরোপুরি প্রতিক্রিয়াশীল হওয়ার দিক থেকে এটি এত ভাল অভিনয় করে।
নিনজালজ

2
খুব নিশ্চিত ফন্ট রেন্ডারিং কিছু সময়ে ক্যাশে করা হয়। আমি মনে করি না চিঠিটি প্রতিনিধিত্বকারী পিক্সেলগুলি ভিক্টরের সংজ্ঞা থেকে প্রতিবার পিক্সেম্যাপে অনুলিপি করা হয়েছে re (যদি না এটি একটি নতুন আকারে বা একটি নতুন কোণে রেন্ডার করতে হয়)। আমি সত্যিকার অর্থে কিছু দুর্দান্ত বিটম্যাপ ফন্ট রয়েছে এ বিষয়ে বিতর্ক করব না, কেবলমাত্র উপস্থিতি করার জন্য এটি সর্বোত্তম বিকল্প হতে পারে, যদি সেগুলির আকারটি আপনি চান তার আকারের জন্য ঘটে থাকে।
পিটার কর্ডস
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.