ডাইরেক্টএক্স হল API-এর একটি সংগ্রহ, বা অ্যাপ্লিকেশন প্রোগ্রামিং ইন্টারফেস, মাল্টিমিডিয়া বিষয়বস্তু রেন্ডার করতে এবং গ্রাফিক্যাল হার্ডওয়্যারের সাথে যোগাযোগ করতে সফ্টওয়্যার দ্বারা ব্যবহৃত হয়। DirectX এর প্রধান উপাদান API, Direct3D, সফ্টওয়্যার এবং গ্রাফিক্স হার্ডওয়্যারের মধ্যে যোগাযোগ পরিচালনা করে। কারণ সমস্ত হার্ডওয়্যার আলাদা, আপনার গ্রাফিক্স কার্ডের সাথে যোগাযোগের জন্য ফাংশন এবং কলগুলির একটি প্রমিত লাইব্রেরি ব্যবহার করে গেমের বিকাশের গতি বাড়ায়। একে বলা হয় হার্ডওয়্যার অ্যাবস্ট্রাকশন, এবং এটি API এর প্রধান কাজ।
গাড়ি সম্পর্কে চিন্তা করুন:আপনি যদি একটি গাড়ি চালাতে পারেন তবে আপনি তাদের সবগুলিই চালাতে পারবেন। গ্যাস এবং ব্রেক প্যাডেল একই জায়গায় রয়েছে এবং স্টিয়ারিং হুইল একই দিকে ঘোরে এবং দরজা বাইরের দিকে খোলে। রেডিওর মতো অ-সমালোচনামূলক বৈশিষ্ট্যগুলিতে কিছু ছোটখাটো পার্থক্য থাকতে পারে তবে সামগ্রিকভাবে আপনি কী আশা করবেন তা জানেন। ডাইরেক্টএক্স এবং ডাইরেক্ট3ডি একই রকম, ডেভেলপারদের একই টুল ব্যবহার করে বিস্তৃত হার্ডওয়্যারের সাথে ইন্টারফেস করতে দেয়। এবং যেহেতু বেশিরভাগ গেম ডেভেলপার ডাইরেক্ট3ডি-এর স্ট্যান্ডার্ড লাইব্রেরি ব্যবহার করে, তাই এপিআই-এর যেকোনো পরিবর্তন গেমার এবং কোডারকে একইভাবে প্রভাবিত করতে পারে।
ডাইরেক্টএক্স 12-এ নতুন কী আছে?
DirectX এবং Direct3D-এর প্রতিটি বড় আপডেট নতুন বৈশিষ্ট্য এবং উন্নয়ন নিয়ে আসে। Direct3D 12 অবশ্য কিছু বিশেষ উল্লেখযোগ্য পরিবর্তন এনেছে। প্রকৃতপক্ষে, এটি নিম্ন-স্তরের গ্রাফিক্স এপিআইগুলির একটি নতুন ক্ষেত্রের সূচনা হতে পারে যা গেমগুলি বিকাশের উপায়কে পরিবর্তন করবে৷
নিম্ন-স্তরের হার্ডওয়্যার বিমূর্ততা
DirectX 12 এখন ডেভেলপারদের তাদের ব্যবহারকারীদের গ্রাফিক্স হার্ডওয়্যারের "ধাতু" এর কাছাকাছি যেতে দেয়, যা ডেভেলপারদের জন্য পূর্বে অনুপলব্ধ বৈশিষ্ট্যগুলিতে অ্যাক্সেস প্রদান করে। নিম্ন স্তরের হার্ডওয়্যার প্রকাশ করার অর্থ হল দক্ষ বিকাশকারীরা আরও দক্ষ কোড লিখতে পারে যা দ্রুত কার্যকর করে। বিশেষত, বিকাশকারীরা দ্রুত মাল্টি-থ্রেডেড পারফরম্যান্স এবং আরও দক্ষ CPU ব্যবহারের সাথে অপ্টিমাইজেশান উন্নত করতে পারে। এটি সম্ভাব্যভাবে নিম্ন-স্তরের অপ্টিমাইজেশানের জন্য মঞ্জুরি দিতে পারে যেমন আমরা কনসোল গেমিং-এ দেখি যেখানে গেমগুলি অত্যন্ত নির্দিষ্ট মিড-রেঞ্জ হার্ডওয়্যারের জন্য টিউন করা হয়, যা এই ধরনের হাইপার-স্পেসিফিক অপ্টিমাইজেশন ছাড়া অসম্ভব।
পূর্বে, DirectX 11 শুধুমাত্র একটি মোটামুটি উচ্চ স্তরের হার্ডওয়্যার বিমূর্ততা অফার করেছিল, যা কোডিং প্রক্রিয়াটিকে ব্যাপকভাবে সরল করে। প্রকৃতপক্ষে, হার্ডওয়্যার এপিআইগুলিকে এত শক্তিশালী করে তোলে তার পিছনে পুরো ধারণা। কিন্তু এর মানে হল যে নির্দিষ্ট হার্ডওয়্যার বৈশিষ্ট্যগুলির বিরুদ্ধে সূক্ষ্ম-টিউনিং কোডের সুযোগগুলি কম ঘন ঘন ছিল। মাইক্রোসফটের ডেভেলপার ব্লগ কিভাবে, ঠিকভাবে, DirectX 12 এটি সম্পন্ন করে সে সম্পর্কে কিছু চমৎকার অন্তর্দৃষ্টি প্রদান করে।
উন্নত মাল্টিকোর পারফরম্যান্স
গত কয়েক বছরে গেমাররা স্বীকার করেছে যে মাল্টিকোর সিপিইউ গেমিংয়ের জন্য ততটা দরকারী নয়। গেমগুলি পরিবর্তে দ্রুত একক-থ্রেডেড পারফরম্যান্সের উপর নির্ভর করে। এটি আংশিকভাবে ঘটে কারণ DirectX 11 এত বেশি সমান্তরালকরণের অনুমতি দেয় না। একাধিক CPU থ্রেড একই সাথে ড্র কমান্ড জমা দিতে পারে। যাইহোক, সেগুলিকে এখনও একটি সারিতে প্রসেস করা হবে, একে একে। DirectX 12 সেই সীমাবদ্ধতা তুলেছে, মাল্টিকোর CPU-কে GPU-তে একযোগে নির্দেশনা পাঠানোর অনুমতি দেয়, মাল্টিকোর প্রসেসরে আরও বেশি পারফরম্যান্সের দরজা খুলে দেয়।
কল ওভারহেড রিডাকশন আঁকুন
DirectX 11-এর অধীনে CPU-এর শক্তির একটি উল্লেখযোগ্য অংশ গেম কোড চালানোর পরিবর্তে API নির্দেশাবলী ব্যাখ্যা করতে ব্যয় করা হয়। DirectX 12 এপিআই ওভারহেড হ্রাস করে, গেম কোড চালানোর জন্য গণনা সংস্থান মুক্ত করে। এর মানে হল যে CPU- সীমিত গেমগুলি আরও বেশি পারফরম্যান্স দেখতে পারে, কারণ তাদের CPU শক্তি গেম কোড পরিচালনা করার জন্য খালি করা হয়। বেশিরভাগ গেম আজ CPU- সীমিত নয়, তবে এটি সম্ভব যে নতুন গেমগুলি এই খামটিকে আরও এগিয়ে নিয়ে যাবে৷
স্পষ্ট মাল্টিঅ্যাডাপ্টার
DirectX 12-এ একাধিক GPUs (একেএ "ডিসপ্লে অ্যাডাপ্টার") একক লজিক্যাল ইউনিটে একত্রিত করার ক্ষমতা রয়েছে। এক্সপ্লিসিট মাল্টিঅ্যাডাপ্টার নামে পরিচিত এই বৈশিষ্ট্যটি একক GPU-এর মতো সফ্টওয়্যার দ্বারা একাধিক GPU-কে নির্দেশিত করার অনুমতি দেয়। উদাহরণস্বরূপ, DirectX 12 এর সাথে আপনার মেশিনে ইন্টিগ্রেটেড GPU এখন আপনার বিচ্ছিন্ন GPU এর সাথে দলকে ট্যাগ করতে পারে, তার নিজস্ব প্রক্রিয়াকরণ শক্তি ধার দেয়। বৃহত্তর API সমর্থন মাল্টি-GPU SLI/CrossFire সেটআপগুলিতে আরও বেশি নির্ভরযোগ্যতা এবং দক্ষতার অর্থ হতে পারে। মাইক্রোসফ্টের পরীক্ষায় বিযুক্ত গ্রাফিক্সের সাথে একত্রিত গ্রাফিক্স ব্যবহার করে বেঞ্চমার্কে একটি ছোট কিন্তু লক্ষণীয় প্রান্ত প্রদান করেছে।
গেমারদের জন্য DirectX 12 কতটা গুরুত্বপূর্ণ?
অনেক ক্রমবর্ধমান উন্নতির মতো, গেমাররা DirectX 11 এবং DirectX 12-এর মধ্যে রাত-দিনের পার্থক্য দেখতে পাচ্ছেন না। নতুন বৈশিষ্ট্যগুলি নতুন রেন্ডারিং বিকল্পগুলি নিয়ে আসে না যা ব্যবহারকারীদের মুগ্ধ করে। অথবা আপনি দুটি স্ট্যান্ডার্ডের মধ্যে একটি 100 FPS জাম্প দেখতে পাবেন না। কিন্তু কর্মদক্ষতার এই লাভগুলি শেষ পর্যন্ত কম শক্তিশালী হার্ডওয়্যারের উপর বৃহত্তর কর্মক্ষমতার দিকে নিয়ে যাবে, আপনার পিসির হার্ডওয়্যার আপগ্রেড না করেই তার শক্তির উন্নতি ঘটাবে।