DirectX, एपीआई या एप्लिकेशन प्रोग्रामिंग इंटरफेस का एक संग्रह है, जिसका उपयोग सॉफ्टवेयर द्वारा मल्टीमीडिया सामग्री को प्रस्तुत करने और ग्राफिकल हार्डवेयर के साथ संचार करने के लिए किया जाता है। DirectX का प्रमुख घटक API, Direct3D, सॉफ्टवेयर और ग्राफिक्स हार्डवेयर के बीच संचार को संभालता है। चूंकि सभी हार्डवेयर अलग हैं, इसलिए आपके ग्राफिक्स कार्ड के साथ संचार करने के लिए कार्यों और कॉलों की एक मानकीकृत लाइब्रेरी का उपयोग करने से गेम के विकास में तेजी आती है। इसे हार्डवेयर एब्स्ट्रैक्शन कहा जाता है, और यह API का मुख्य कार्य है।
कारों के बारे में सोचें:यदि आप एक कार चला सकते हैं, तो आप उन सभी को काफी हद तक चला सकते हैं। गैस और ब्रेक पैडल एक ही स्थान पर होते हैं, और स्टीयरिंग व्हील एक ही दिशा में घूमता है और दरवाजे बाहर की ओर खुलते हैं। रेडियो जैसी गैर-महत्वपूर्ण विशेषताओं में कुछ मामूली अंतर हो सकते हैं, लेकिन कुल मिलाकर आप जानते हैं कि क्या उम्मीद करनी है। DirectX और Direct3D ऐसे ही हैं, जो डेवलपर्स को समान टूल का उपयोग करके हार्डवेयर की एक विस्तृत श्रृंखला के साथ इंटरफ़ेस करने की अनुमति देते हैं। और चूंकि अधिकांश गेम डेवलपर Direct3D की मानक लाइब्रेरी का उपयोग करते हैं, इसलिए API में कोई भी परिवर्तन गेमर्स और कोडर्स को समान रूप से प्रभावित कर सकता है।
DirectX 12 में नया क्या है?
DirectX और Direct3D का हर बड़ा अपडेट नई सुविधाएँ और विकास लाता है। Direct3D 12, हालांकि, कुछ विशेष रूप से महत्वपूर्ण परिवर्तन लाया। वास्तव में, यह निम्न-स्तरीय ग्राफ़िक्स API के एक नए क्षेत्र की शुरुआत कर सकता है जो गेम विकसित करने के तरीके को बदल देगा।
निचले स्तर का हार्डवेयर एब्स्ट्रैक्शन
DirectX 12 अब डेवलपर्स को अपने उपयोगकर्ताओं के ग्राफिक्स हार्डवेयर के "धातु" के करीब पहुंचने देता है, जो पहले डेवलपर्स के लिए अनुपलब्ध सुविधाओं तक पहुंच प्रदान करता है। निचले स्तर के हार्डवेयर को उजागर करने का मतलब है कि कुशल डेवलपर्स अधिक कुशल कोड लिख सकते हैं जो तेजी से निष्पादित होता है। विशेष रूप से, डेवलपर्स तेजी से बहु-थ्रेडेड प्रदर्शन और अधिक कुशल CPU उपयोग के साथ अनुकूलन में सुधार कर सकते हैं। यह संभावित रूप से निम्न-स्तरीय अनुकूलन की अनुमति दे सकता है, जैसा कि हम कंसोल गेमिंग में देखते हैं, जहां गेम अत्यंत विशिष्ट मध्य-श्रेणी के हार्डवेयर के लिए ट्यून किए जाते हैं, ऐसे प्रदर्शन की तलाश करते हैं जो इस तरह के अति-विशिष्ट अनुकूलन के बिना असंभव होगा।
पहले, DirectX 11 ने केवल उच्च स्तर के हार्डवेयर एब्स्ट्रैक्शन की पेशकश की, जो कोडिंग की प्रक्रिया को बहुत सरल करता है। वास्तव में, हार्डवेयर एपीआई को इतना शक्तिशाली बनाने के पीछे यही संपूर्ण विचार है। लेकिन इसका मतलब यह भी था कि विशिष्ट हार्डवेयर सुविधाओं के खिलाफ फाइन-ट्यूनिंग कोड के अवसर कम होते थे। Microsoft का डेवलपर ब्लॉग कुछ बेहतरीन अंतर्दृष्टि प्रदान करता है कि कैसे, वास्तव में, DirectX 12 इसे पूरा करता है।
बेहतर मल्टीकोर प्रदर्शन
पिछले कुछ वर्षों में गेमर्स ने स्वीकार किया है कि मल्टीकोर सीपीयू गेमिंग के लिए उतने उपयोगी नहीं हैं। इसके बजाय गेम तेज़ सिंगल-थ्रेडेड प्रदर्शन पर निर्भर करते हैं। यह आंशिक रूप से होता है क्योंकि DirectX 11 इतना समानांतरकरण की अनुमति नहीं देता है। एकाधिक CPU थ्रेड एक साथ ड्रा कमांड सबमिट कर सकते हैं। हालांकि, वे सभी अभी भी एक समय में एक कतार में संसाधित होंगे। DirectX 12 उस सीमा को हटा देता है, जिससे मल्टीकोर CPUs को GPU को एक साथ निर्देश भेजने की अनुमति मिलती है, जिससे मल्टीकोर प्रोसेसर पर बेहतर प्रदर्शन का द्वार खुल जाता है।
कॉल ओवरहेड रिडक्शन ड्रा करें
डायरेक्टएक्स 11 के तहत सीपीयू की शक्ति का एक महत्वपूर्ण हिस्सा गेम कोड को निष्पादित करने के बजाय एपीआई निर्देशों की व्याख्या करने में खर्च होता है। DirectX 12 गेम कोड चलाने के लिए कंप्यूटिंग संसाधनों को मुक्त करते हुए, API ओवरहेड को कम करता है। इसका मतलब है कि सीपीयू-सीमित गेम अधिक प्रदर्शन देख सकते हैं, क्योंकि गेम कोड को संभालने के लिए उनकी सीपीयू शक्ति मुक्त हो जाती है। अधिकांश गेम आज सीपीयू-सीमित नहीं हैं, लेकिन यह संभव है कि नए गेम इस लिफाफे को और आगे बढ़ाएंगे।
स्पष्ट मल्टीएडाप्टर
DirectX 12 में कई GPU (AKA "डिस्प्ले एडेप्टर") को एक लॉजिकल यूनिट में संयोजित करने की शक्ति है। एक्सप्लिसिट मल्टीएडाप्टर नामक यह सुविधा, एकल जीपीयू जैसे सॉफ्टवेयर द्वारा कई जीपीयू को निर्देश देने की अनुमति देती है। उदाहरण के लिए, DirectX 12 के साथ आपकी मशीन पर एकीकृत GPU अब आपके असतत GPU के साथ टीम को टैग कर सकता है, अपनी स्वयं की प्रसंस्करण शक्ति उधार दे सकता है। ग्रेटर एपीआई सपोर्ट का मतलब मल्टी-जीपीयू एसएलआई/क्रॉसफायर सेटअप में अधिक विश्वसनीयता और दक्षता भी हो सकता है। असतत ग्राफिक्स के साथ एकीकृत ग्राफिक्स का उपयोग करते हुए माइक्रोसॉफ्ट के परीक्षण में बेंचमार्क में एक छोटा लेकिन ध्यान देने योग्य बढ़त प्रदान की गई।
गेमर्स के लिए DirectX 12 कितना मायने रखता है?
बहुत सारे वृद्धिशील सुधारों की तरह, गेमर्स को DirectX 11 और DirectX 12 के बीच रात और दिन का अंतर नहीं दिखाई देगा। नई सुविधाएँ नए रेंडरिंग विकल्प नहीं लाती हैं जो उपयोगकर्ताओं को पसंद आती हैं। न ही आप दो मानकों के बीच 100 एफपीएस की छलांग देखेंगे। लेकिन दक्षता में ये लाभ अंततः कम शक्तिशाली हार्डवेयर पर बेहतर प्रदर्शन की ओर ले जाएंगे, इसके हार्डवेयर को अपग्रेड किए बिना आपके पीसी की शक्ति में सुधार होगा।