কম্পিউটার টিউটোরিয়াল

লিনাক্সে গেম স্টাটার (Stutter) কেন করে? সম্ভাব্য কারণগুলো

লিনাক্স গেমার্স সব ধরনের জন্য — সবচেয়ে熱心 মানচিত্র ছবি আঁকারা (map painting enthusiasts) থেকে সবচেয়ে প্রতিযোগিতামূলক শার্পশুটাররা (competitive marksmen) — এবAR অ্যাক্সেসিবিলিটির (accessibility) ক্ষেত্রে চমৎকার লাফ দিয়েছে। এই সব সত্ত্বেও, এখনও গেম কম্প্যাটিবিলিটি (game compatibility) চ্যালেঞ্জগুলো অতিক্রম করতে বাকি, যা বড় পরিমাণে উৎস থেকে আসে, যার মধ্যে রয়েছে ফ্রেম রেট কনসিস্টেন্সি (frame rate consistency)। আমরা এখানে এক্সপ্লোর (explore) করব কেন অনেক গেম যারা হাই রিসোর্স ডিমান্ড (high resource demand) না করলেও অনুপব্যবহারিকভাবে কষ্ট পায়, এমনকি লিনাক্সের জন্য এক্সপ্লিসিটলি (explicitly) পোর্ট (port) করা থাকলেও।

কখনো কখনো OpenGL ছাড়া কোনো অপশন নেই

OpenGL হলো ক্রস-প্ল্যাটফর্ম ৩D রেন্ডারিং (cross-platform 3D rendering) তৈরি করার একটি দুর্দান্ত উপায়, সব কিছু পোর্ট না করেই। যদি একজন ডেভেলপার উইন্ডোজ, লিনাক্স, এবং ম্যাক — তিন প্ল্যাটফর্মের জন্য গেম পাবলিশ করতে চান, তবে লীস্ট রেজিস্টেন্স (least resistance) এর পথ হলো সবচেয়ে বড় ডেমোগ্রাফিক (Windows, DirectX) এর ওপর সবচেয়ে বেশি ফিনেস (finesse) ফোকাস করা এবং অন্যদের জন্য OpenGL ব্যবহার করে গেম পোর্ট করা।

লিনাক্সে গেম স্টাটার (Stutter) কেন করে? সম্ভাব্য কারণগুলো

OpenGL GPU-র সাথে DirectX এবং Vulkan-এর মতো সরাসরি (directly) কমিউনিকেট করে না, এর ফলে CPU-র ওপর বেশি নির্ভরশীলতা থাকে এবং তাই অনেক পরিস্থিতিতে কিছুটা কম পারফরম্যান্স (diminished performance) দেখা দেয়।

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

Vulkan-র সামনে এখনও চ্যালেঞ্জ আছে

DirectX-র লিনাক্স জবাব, Vulkan, ১৭০+ সংস্থা ও স্বতন্ত্র ডেভেলপারের ব্রেইনচাইল্ড (brainchild), যারা কমিউনিটির আকারে সিদ্ধান্ত নিয়েছিল সব প্ল্যাটফর্মে ব্যবহারযোগ্য একটি হাই-পারফরম্যান্স লো-লেভেল API (low-level API) প্রদান করতে। ফেব্রুয়ারি ২০১৬-এ রিলিজ হওয়ার পর থেকে এটি একটি জাগার্নাট (juggernaut) এবং (pun very much intended) গেম-চেঞ্জার (game-changer) হয়ে উঠেছে গ্রাফিক্স ডেভেলপারদের সারা বিশ্বে, তার ওজন থেকে कहीं বেশি পারফর্ম করছে, এবং অনেক উদাহরণে DirectX-এর পারফরম্যান্সও অতিক্রম করেছে।

এটা সব ঠিক আছে, কিন্তু আপনি যদি একটি গেমে স্টাটারিং (stuttering) অনুভব করেন যা Vulkan API ব্যবহার করে লিনাক্সের জন্য পোর্ট করা, তবে এই মহান অর্জন আপনাকে ততটুকু প্রभाৱিত করবে না। সত্যি, Vulkan-র কিছু কমजোরি আছে, 그중 সবচেয়ে বড়টি হলো অন-স্ক্রিন স্থিতিশীলতা (on-screen stability)।

HWRIG-এর একটি অ্যানালিসিস (analysis) যা উইন্ডোজ DX12 এবং Vulkan-এর পারফরম্যান্স বেঞ্চмар্কিং (benchmarking) টুল দিয়ে তুলনা করে, দেখায় Vulkan মাঝপথে ৫% বেশি এভারেজ ফ্রেম রেট অর্জন করলেও এর মিনিমাম ফ্রেম রেট (minimum frame rate) নিচে চলে যায়।

রিয়েল ওয়ার্ল্ড ইউজে এটি অনুবাদ হয় ইন্টেন্স গ্রাফিক্যাল লোড (intense graphical load) ডিল করার সময় স্টাটারিং (stuttering)-এর বর্ধিত ঘটনা। Cela dit, এখনও নোট করা গুরুত্বপূর্ণ যে Vulkan ফ্যান্টাস্টিক (fantastic) হতে পারে যখন একটি গেম সেটাকে কেন্দ্র করে ডিজাইন করা হয়, বরং আfterthought হিসেবে পোর্ট করা নয়।

একটি ভালো উদাহরণ হলো Valheim, একটি সারভাইवल স্যান্ডবক্স (survival sandbox) যা ফেব্রুয়ারি ২০২১-এ রিলিজ हुआ। গেমটিকে Vulkan-এ ফোর্স (force) করে চালালে DX12-এর চেয়ে পারফরম্যান্স মার্কডলি (markedly) বৃদ্ধি পায়।

এটি GPU-রিলেটেড নাও হতে পারে

লিনাক্সে, উইন্ডোজের মতোই, আপনার CPU-এর পারফরম্যান্স সিস্টেমের পাওয়ার ম্যানেজমেন্ট সেটিংস (power management settings) দ্বারা প্রভাবিত হয়। আপনি যদি একটি CPU-হেভি (CPU-heavy) গেম খেলছেন যা GPU খুব কম ব্যবহার করে (যেমন: গ্র্যান্ড স্ট্র্যাটেজি ম্যাপ-পেইন্টিং গেম Hearts of Iron বা Europa Universalis) এবং পারফরম্যান্স ড্রপ (performance drop) দেখছেন, তবে লিনাক্স আপনার CPU-কে "powersave" গভর্নর (governor)-এ ঠেলে দিচ্ছে হতে পারে। এটি প্রায়ই হয় যদি আপনি ব্যাটারি (battery)-এ চলমান একটি ল্যাপটপে থাকেন।

লিনাক্সে গেম স্টাটার (Stutter) কেন করে? সম্ভাব্য কারণগুলো

বেশিরভাগ ক্ষেত্রে, আধুনিক CPU এবং powersave গভর্নর একসাথে ভালো কাজ করে কিন্তু গেমিং সময় যदा কদা নোটিসযোগ্য ইনপুট ল্যাগ (input lag) তৈরি করে। এটাকে কাউন্টারঅ্যাক্ট (counteract) করতে আপনি auto-cpufreq ব্যবহার করতে পারেন ল্যাপটপকে আরও ব্যাটারি এফিশিয়েন্ট (battery efficient) বানাতে এবং CPU পারফরম্যান্স বাড়াতে গভর্নরকে দ্রুত "performance"-এ স্যুইচ করে যখন সেটা সবচেয়ে জরুরি।

লিনাক্স পোর্টগুলো এখনও (বড়াংশে) একটি Afterthought

যদিও লিনাক্সের শেয়ার (share) সকল ডেস্কটপ প্ল্যাটফর্মের পাই চാര্টে (pie of all desktop platforms) গত দশকে ধীরে ধীরে বেড়ে বর্তমান ২.৪% এ পৌঁছেছে, এটা এপপল (Apple) এবং মাইক্রোসফট (Microsoft) যারা এটি প্রতিযোগিতা করছেন তাদের চেয়ে খুব কম। দুর্ভাগ্যবশত, এর মানে অনেক গেম ডেভেলপার তাদের প্রোডাক্টকে লিনাক্সে দ্রুত পোর্ট করবে অপ্টিমাইজেশন (optimization)-এর ওপর খুব বেশি মনোযোগ দিয়ে না। সেটা পয়েন্টে, তারা রিলিজ ডেডলাইন (release deadline)-এর ওপর বেশি ফোকাসড থাকে বরং পটেনশিয়াল টু-পয়েন্ট-সম씹 পারসেন্ট (two-point-something percent) প্লেয়ারবেসকে খুশি করার চেয়ে।

পারফরম্যান্স ইস্যু আলাদা, ২০১০-র মাঝপথের পরের বছরে লিনাক্স গেমিং কমিউনিটি খুব বেশি লাভ (love) পেয়েছে খুব গ্রহণযোগ্য (acceptable) গেমপ্লে অপশন এবং উন্নত পারফরম্যান্স রূপে — যা লিনাক্স ডেভেলপারদের প্রচেষ্টা এবং গেম পাবলিশারদের প্রচেষ্টার ফলাফল।

গ্রাফিক্স ড্রাইভার ইস্যু (Graphics Driver Issues)

আপনি যদি একটি পোর্ট করা গেমে অন্য সিস্টেমের ভার্সনের মতো পারফরম্যান্স না পান, তবে প্রথমে আপনার গ্রাফিক্স ড্রাইভার চেক করুন। আপনি যদি Nouveau বা অন্য কোনো ডিফল্ট ওপেন-সোর্স ড্রাইভার ব্যবহার করেন, তবে এটি আপনার সবচেয়ে সম্ভাব্য কলপ্রিট (culprit)।

যেকোনো অন্যান্য লিমিটেশন বাদে, আপনার গেমে সেরা ফ্রেমরেট পেতে আপনাকে আপনার GPU-র লেটেস্ট ড্রাইভার ইনস্টল করতে হবে। আপনি যদি উবুন্টু বা অন্য কোনো ডেবিয়ান-ভিত্তিক লিনাক্স ডিস্ট্রিবিউশনে Nvidia কার্ড ব্যবহার করেন, তবে প্রоприএটারি (proprietary) ড্রাইভার ইনস্টল করার আমাদের গাইড দেখুন।

ডুয়াল মনিটর সমস্যা (Dual Monitor Woes)

আপনি যদি আপনার ডিস্ট্রোতে দুটি মনিটর (dual monitor) ব্যবহার করেন এবং জেনারেলি গেম খেলার সময় খারাপ FPS পারফরম্যান্স থেকে ফাস্টিনেট (frustrated) হন, তবে একটি আনপ্লাগ (unplug) করুন এবং গেম রিস্টার্ট করুন। অচমক আপনি কি দিল্লিনন্দনভাবে (deliciously) বাটারি-स্মুথ (buttery-smooth) পারফরম্যান্স পাচ্ছেন?

লিনাক্সে গেম স্টাটার (Stutter) কেন করে? সম্ভাব্য কারণগুলো

উত্তর "হ্যাঁ" হলে, আপনি Nvidia-এর গ্রাফিক্স সেটিংস একটু ফিডল (fiddle) করে এই ইস্যু হেল্প (help) করতে পারেন। কখনো কখনো ডিসপ্লে স্কেলিং (display scaling) ডুয়াল-মনিটর সেটআপে ভালো কাজ করে না, তাই সেই কাজটি GPU-র ওপর সরিয়ে দিলে সাহায্য করতে পারে।

এটি করতে, Nvidia-এর কন্ট্রোল প্যানেলে যান, "Adjust desktop size and position"-এ নেভিগেট করুন, এবং "Perform scaling on"-এর নিচে ড্রপ-ডাউন মেনু থেকে "GPU" সিলেক্ট করুন।

লিনাক্সে গেম স্টাটার (Stutter) কেন করে? সম্ভাব্য কারণগুলো

এটি করার পর, আপনি যদি এখনও পারফরম্যান্স বৃদ্ধি না দেখেন, তবে নিশ্চিত করুন আপনার হার্ডওয়্যারের অন্য কোনো বটলনেক (bottleneck) নেই। চেক করুন আপনার কাছে পর্যাপ্ত CPU পাওয়ার এবং RAM আছে কিনা গেম রান করাতে এবং অন্য মনিটরে যা রেন্ডার করছেন সেটাও রেন্ডার করাতে। вор্স্ট কেস সিনারিও (worst case scenario), আপনাকে গেম চালানোর আগে সেকেন্ড মনিটর অফ করে রাখতে হবে যতক্ষণ না আপনি হার্ডওয়্যার বটলনেক ক্লিয়ার করুন।

প্রশ্নোত্তর (FAQ)

১. OpenGL সাধারণত খারাপ কি?

শুধু Vulkan এবং DX OpenGL-কে পারফরম্যান্সে পিছিয়ে দিলে সেটা irrelevant (অপ্রাসঙ্গিক) হয় না। যেসব গেম খুব ডিটেইলড গ্রাফিক্যাল এনভায়রনমেন্টের (detailed graphical environments) ওপর প্রায়মারিলি (primarily) নির্ভর করে না (যেমন Factorio, EU IV, HoI4, ইত্যাদি) সেগুলো লো-লেভেল API-র অর্জিত এক্সট্রা পারফরম্যান্স দরকার নেই। সেগুলো সব Vulkan-এ পোর্ট করা ডেভেলপমেন্ট স্ট্যান্ডপয়েন্ট থেকে মানে নয় কারণ এটা খুব টিডিয়াম (tedium) সৃষ্টি করে যা OGL (OpenGL)-র মতো কিছু সিম্পল (simple) ব্যবহার করলে এড়ানো যেতো।

একজন ডেভেলপার্স পারস্পেক্টিভ (developer's perspective) থেকে: আপনি যদি Vulkan বা DirectX এড়িয়ে আপনার গেমে পারফরম্যান্স নিচুড়ে আনতে পারেন, তবে আপনি রিলিজের আগে আপনার প্রোডাক্ট পলিশ (polish) করার ওপর এবং তারপর মেইনটেইন (maintain) করার ওপর বেশি ফোকাস করতে পারেন। এটি প্লেয়ারের জন্য একটি অনদেখা সুবিধা (invisible benefit) যা সারা গেমিং এক্সপেরিয়েন্সকে बेटার (better overall gaming experience) করে দেয়।

২. CPU গভর্নর (CPU governor) কী?

CPU-এর গভর্নর হলো একটি অপারেটিং সিস্টেমের উপায় CPU-কে বলতে যে সেটি কোন রেঞ্জের ক্লক ফ্রিকোয়েন্সি (clock frequencies) ব্যবহার করবে। পারফরম্যান্স গভর্নর সবসময় আপনার CPU-কে বলবে যে সেটি যতটুকু জুস (juice) চায় নিতে পারে নিতে এবং যা খুশি করে। বিপরীতভাবে, পাওয়ার-সেভিং গভর্নর আপনার CPU-র লেগের লাগাম (reins) টানবে লোয়ার পাওয়ার ইউজেজ (lower power usage) প্রায়োরিটাইজ (prioritize) করতে।

৩. লিনাক্সে গেমিং পারফরম্যান্স বাড়াতে আরও কী কী করা যায়?

এই আর্টিকেলে দেয়া পরামর্শের বাইরে, এখানে আরও কিছু জিনিস যা সাহায্য করতে পারে:

  • আপনার ড্রাইভার আপডেট রাখুন যাতে OS আপনার GPU-র সাথে সবচেয়ে ইফেক্টিভলি (effectively) কমিউনিকেট করতে পারে।
  • আপনার কার্নেল (kernel) আপডেট রাখুন যাতে লিনাক্স আপনার হার্ডওয়্যার সাথে সফ্লি (safely) এবং এফিশিয়েন্টলি (efficiently) কাজ করার জন্য সেরাভাবে সজ্জিত থাকে।
  • ভিন্ন ডেস্কটপ এনভায়রনমেন্ট ট্রাই (try) করুন, যেমন KDE, GNOME, Budgie, বা LXDE। আপনি কিছুতে बेटার পারফরম্যান্স লক্ষ্য করতে পারেন। আমি পারসোনালি XFCE-এ গ্রাফিক্যাল এনভায়রনমেন্টে কিছু পারফরম্যান্স ইস্যু লক্ষ্য করেছি, এবং অনেক লিনাক্স ইউজার একই রিপোর্ট করেছেন, তাই আমি এই ডেস্কটপ এনভায়রনমেন্ট মেনশন করিনি।

উপসংহার

জিনিসগুলো পর্সপেক্টিভে (perspective) রাখা গুরুত্বপূর্ণ: লিনাক্স গেমারদের জন্য পারফেক্ট (perfect) অপারেটিং সিস্টেম নয়, কিন্তু এটা প্রতিযোগীদের চেয়ে অনেক সময় বेहতর (better)। ডেভেলপাররা যেহেতু লিনাক্স ওয়ORLD থেকে আসা তাদের কমিউনিটি সদস্যদের আরও সিরিয়াসলি (seriously) নিচ্ছেন, তারা তাদের গেমগুলো OS-র জন্য অপ্টিমাইজ করার বড় প্রচেষ্টা করছে।

২০০০-র দশকের শুরুতে এর রকি (rockier) মুহূর্তগুলো থেকে লিনাক্স একাধিক ডিপার্টমেন্টে বeshire স্ট্রাইডস (strides) নেয়েছে এবং এখন আপনার গেমগুলোও আনতে যেসব চায় তাদের জন্য একটি স্বাগতজনক (welcoming) অপারেটিং সিস্টেম হিসেবে এটি জাস্ট এখন ফ্লোরিশ (flourish) করা শুরু করেছে। স্টীম (Steam)-কে বড় ধন্যবাদ যারা Proton ডেভেলপ করেছেন, যা VKD3D-এর মতো লাইব্রেরি ব্যবহার করে উইন্ডোজ-এক্সক্লুসিভ (Windows-exclusive) গেমগুলো লিনাক্সে ফুলি প্লেয়েবল (fully playable) করে দেয়।

আপনিও এই কাজে অংশ নিতে পারেন আপনার প্রিয় গেমের ডিসকশন বোর্ডে (discussion boards) গিয়ে এবং একটি লিনাক্স গেমার হিসেবে আপনার ভয়েস (voice) শুনিয়ে। ডেভেলপারদের জানানো গুরুত্বপূর্ণ যে তাদের নন-উইন্ডোজ ডেমোগ্রাফিক (non-Windows demographic) কিছু টyni সেগমেন্ট (tiny segment) তাদের ইউজেজ (usage) এবং পারচেজ স্ট্যাটিস্টিক্স (purchase statistics)-এর নয়, বরং আসল মানুষ।

আপনাকে গেমিং মনিটরকে দুর্দান্ত বানানো কী ফিচারগুলো সেটাও চেক আউট করা উচিত।

  1. ২০২২ সালের ১৭টি সেরা লিনাক্স গেম

  2. Fedora Silverblue: লিনাক্সের ভবিষ্যৎ? কারণগুলো এখানে

  3. ২০২১ সালে সেরা লিনাক্স ফাইলসিস্টেম কোনগুলো?

  4. ওয়াইফাই কাজ না করলে: সাধারণ কারণ ও দ্রুত সমাধান