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

DirectX 11 এবং DirectX 12-এর পার্থক্য কী?

DirectX হলো API (Application Programming Interfaces)-এর একটি সংকলন যা সফটওয়্যার মাল্টিমিডিয়া কন্টেন্ট রেন্ডার করতে এবং গ্রাফিক্যাল হার্ডওয়্যারের সাথে যোগাযোগ করতে ব্যবহার করে। DirectX-এর প্রধান কম্পোনেন্ট API, Direct3D, সফটওয়্যার এবং গ্রাফিক্স হার্ডওয়্যারের মধ্যে যোগাযোগ হ্যান্ডেল করে। যেহেতু সব হার্ডওয়্যার আলাদা, তাই ফাংশন এবং কলের একটি স্ট্যান্ডার্ড লাইব্রেরি ব্যবহার করে আপনার গ্রাফিক্স কার্ডের সাথে যোগাযোগ করলে গেম ডেভেলপমেন্ট দ্রুত হয়। এটিকে হ্যাডওয়্যার অ্যাবস্ট্রাকশন বলে, এবং এটিই API-এর মুখ্য কাজ।

গাড়ির উদাহরণ লें: আপনি একটা গাড়ি চালাতে পারলে প্রায় সব গাড়ি চালাতে পারেন। গ্যাস ও ব্রেক পেডাল একই জায়গায়, স্টিয়ারিং হইল একই দিকে ঘুরে, দরজা বাইরে খুলে। নন-ক্রিটিক্যাল ফিচার যেমন রেডিওতে কিছু পার্থক্য থাকতে পারে, কিন্তু ওভরলে আপনি কী এক্সপেক্ট করবেন সেটা জানেন। DirectX এবং Direct3D একই রকম, যা ডেভেলপারদের একই টুলস ব্যবহার করে واسعة হার্ডওয়্যার রেঞ্জের সাথে ইন্টারফেস করতে দেয়। এবং যেহেতু অধিকাংশ গেম ডেভেলপার Direct3D-এর স্ট্যান্ডার্ড লাইব্রেরি ব্যবহার করে, API-তে যেকোনো পরিবর্তন গেমার এবং কোডার দুজনের ওপর প্রভাব ফেলে।

DirectX 12-এ কী নতুন?

DirectX এবং Direct3D-এর প্রতিটি বড় আপডেট নতুন ফিচার এবং ডেভেলপমেন্ট আনয়ন করে। কিন্তু Direct3D 12 কিছু বিশেষ গুরুত্বপূর্ণ পরিবর্তন আনিয়েছে। faktually, এটি লো-লেভেল গ্রাফিক্স API-এর একটি নতুন যুগের সূচনা করতে পারে যা গেম ডেভেলপমেন্টের পদ্ধতি পরিবর্তন করবে।

নিম্ন-স্তরের হার্ডওয়্যার অ্যাবস্ট্রাকশন

DirectX 12 ডেভেলপারদের তাদের ইউজারদের গ্রাফিক্স হার্ডওয়্যারের "মেটাল"-এর আরও কাছে যেতে দেয়, এমন ফিচারগুলোর অ্যাক্সেস দেয় যা আগে ডেভেলপারদের জন্য অনুপলব্ধ ছিল। নিম্ন-স্তরের হার্ডওয়্যার এক্সপোজ করলে দক্ষ ডেভেলপাররা আরও দক্ষ কোড লিখতে পারেন যা দ্রুত এক্সিকিউট হয়। স্পেসিফিক্যালি, ডেভেলপাররা ফাস্টার মাল্টি-থ্রেডেড পারফরম্যান্স এবং আরও দক্ষ CPU ইউটিলাইজেশনে অপ্টিমাইজেশন উন্নত করতে পারেন। এটি কনসোল গেমিং-এ দেখা লো-লেভেল অপ্টিমাইজেশনের মত পোটেনশিয়াল তৈরি করতে পারে যেখানে গেমগুলো অত্যন্ত স্পেসিফিক মিড-রেঞ্জ হার্ডওয়্যারের জন্য টিউন্ড থাকে, যেনা পারফরম্যান্স বের করা যায় যেটা چنین হাইপার-স্পেসিফিক অপ্টিমাইজেশন ছাড়া অসম্ভব।

পূর্বে DirectX 11 শুধু相对高-লেভেল হার্ডওয়্যার অ্যাবস্ট্রাকশন দিতো, যা কোডিং প্রসেস ব্যাপকভাবে সরল করে দিতো। ফ্যাক্টusal, এটিই হ্যাডওয়্যার API-এর শক্তিশালী হওয়ার মূল কারণ। কিন্তু এটাও মানে স্পেসিফিক হার্ডওয়্যার ফিচারসের বিপরীতে কোড ফাইন-টিউন করার সুযোগ কম ছিল। মাইক্রোসফট ডেভেলপার ব্লগে DirectX 12 কীভাবে এটি অর্জন করে সেটা নিয়ে গভীর অন্তর্দৃষ্টি পাওয়া যায়।

উন্নত মাল্টিকোর পারফরম্যান্স

গত কয়েক বছরে গেমাররা মেনে নেওয়া শুরু করেছে যে মাল্টিকোর CPU গেমিং-এ তত উপকারী নয়। গেমগুলো ফাস্ট সিঙ্গেল-থ্রেডেড পারফরম্যান্সের ওপর নির্ভর করে। এর আংশিক কারণ DirectX 11 তত প্যারাললাইজেশন আ্যালো করে না। একাধিক CPU থ্রেড ড্র কমান্ড সাবমিট করতে পারে একসাথে। কিন্তু সেগুলো একই সাথে প্রসেস হবে না, বরং একটি কিউতে একে একে প্রসেস হবে। DirectX 12 সেটি লিমিটেশন সরিয়ে দিয়েছে, মাল্টিকোর CPU-কে GPU-তে সিমাল্টেনিয়াস ইনস্ট্রাকশন পাঠাতে দিয়েছে, মাল্টিকোর প্রসেসরে বড় পারফরম্যান্সের দরজা খুলে দিয়েছে।

ড্র কল ওভারহেড রিডাকশন

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

এক্সপ্লিসিট মাল্টি-অ্যাডাপ্টার

DirectX 12-এ একাধিক GPU (AKA "display adapters") একসাথে কালেক্টিভলি একটি সিঙ্গেল লজিক্যাল ইউনিট হিসেবে কম্বাইন করার ক্ষমতা রয়েছে। এই ফিচার, যাকে Explicit Multiadapter বলা হয়, একাধিক GPU-কে সফটওয়্যার দ্বারা একটি সিঙ্গেল GPU-র মত ইনস্ট্রাক্ট করতে দেয়। উদাহরণস্বরূপ, DirectX 12-এ আপনার মেশিনের ইন্টিগ্রেটেড GPU এখন আপনার ডিসক্রিট GPU-র সাথে টিম আপ করতে পারে, নিজের প্রসেসিং পাওয়ার যোগ দিয়ে। বড় API সাপোর্ট মাল্টি-GPU SLI/CrossFire সেটআপে আরও নির্ভরযোগ্যতা এবং দক্ষতা বাড়াতে পারে। মাইক্রোসফটের টেস্টিং-এ ইন্টিগ্রেটেড গ্রাফিক্স ডিসক্রিট গ্রাফিক্সের সাথে টান্ডেমে ব্যবহার করলে বেঞ্চмар্কে ছোট কিন্তু লক্ষণীয় এজ মিলেছিল।

গেমারদের জন্য DirectX 12 কতটুকু গুরুত্বপূর্ণ?

অনেক ইনক্রিমেন্টাল ইম্প্রুভমেন্টের মত, গেমাররা DirectX 11 এবং DirectX 12-এর মধ্যে ডে-অ্যান্ড-নাইট পার্থক্য দেখবেন না। নতুন ফিচারগুলো কোনো নিউ রেন্ডারিং অপশন আনেনা যা ইউজারকে চকিত করবে। নাকি ১০০ FPS জাম্প দেখবেন দুটি স্ট্যান্ডার্ডের মাঝে। কিন্তু দক্ষতায় এই গেইনগুলো সময়ের সাথে সাথে কম শক্তিশালী হার্ডওয়্যারের ওপর বড় পারফরম্যান্সে রূপ নেবে, আপনার পিসির পাওয়ার হার্ডওয়্যার আপগ্রেড ছাড়াই উন্নত করবে।

  1. C#-এ List এবং Dictionary-এর পার্থক্য

  2. UEFI বনাম BIOS: BIOS এবং UEFI-এর পার্থক্য কী?

  3. উইন্ডোজ আপডেট এবং আপগ্রেডের পার্থক্য কী?

  4. মডেম বনাম রাউটার: মূল পার্থক্যগুলো সহজ ভাষায় ব্যাখ্যা