डायरेक्टएक्स 12 डी 3 डी 12 नई सुविधा प्राप्त करता है जो या तो जीपीयू या सीपीयू को गतिशील रूप से मेमोरी आवंटन पर अधिक नियंत्रण प्रदान करता है

हार्डवेयर / डायरेक्टएक्स 12 डी 3 डी 12 नई सुविधा प्राप्त करता है जो या तो जीपीयू या सीपीयू को गतिशील रूप से मेमोरी आवंटन पर अधिक नियंत्रण प्रदान करता है 3 मिनट पढ़ा

DirectX 12



विंडोज 10 ओएस के आगामी प्रमुख अपडेट में, डायरेक्टएक्स 12, और अधिक विशेष रूप से, डायरेक्ट 3 डी (डी 3 डी 12) होगा, एक नहीं बल्कि नए झंडे यह स्मृति संसाधनों को आवंटित करने के तरीके को बदल देगा। ऐसा प्रतीत होता है कि Microsoft ठीक उसी तरह से चिंतित है जिस तरह से स्मृति और प्रसंस्करण शक्ति का अनुरोध किया जाता है और अनुप्रयोगों को आवंटित किया जाता है, जो अक्सर अड़चन पैदा कर सकता है। संयोग से, ये नए झंडे स्मृति को सीधे प्रभावित नहीं करेंगे, बल्कि इसके आवंटन और प्रबंधन के तरीके को प्रभावित करेंगे।

Microsoft डायरेक्टएक्स प्लेटफ़ॉर्म के नवीनतम पुनरावृत्ति को सक्रिय रूप से विकसित कर रहा है, जो लंबे समय से डेस्कटॉप गेमिंग के लिए एक प्रमुख मानक रहा है। Microsoft DirectX 12 का नवीनतम संस्करण हाल ही में कई नई सुविधाएँ प्राप्त कर रहा है। हाल ही में हमने कवर किया DirectX 12 के लिए सबसे प्रमुख और महत्वपूर्ण नई सुविधाएँ जो डेवलपर्स और अंत उपयोगकर्ताओं को काफी लाभान्वित करेगा। इस सप्ताह, Microsoft ने संकेत दिया कि विंडोज 10 के लिए अगले प्रमुख अपडेट में DirectX12 Direct3D के लिए दो नए झंडे शामिल होने चाहिए। दिलचस्प बात यह है कि जो डेवलपर आज भी ऐसा ही देखना चाहते हैं, उन्हें विंडोज़ इनसाइडर प्रोग्राम से विंडोज 10 (20H1) के लिए नवीनतम विंडोज 10 इनसाइडर प्रिव्यू बिल्ड और एसडीके प्रिव्यू बिल्ड को डाउनलोड और इंस्टॉल करना होगा।



विंडोज 10 डायरेक्टएक्स 12 डायरेक्ट 3 डी को सीपीयू और जीपीयू के बीच गतिशील मेमोरी आवंटन के लिए दो नए झंडे प्राप्त करने के लिए:

विंडोज 10 के आगामी अपडेट में, डी 3 डी 12 डी 3 डी 12_ एचएजीएपीएफएजी गणन के लिए दो नए झंडे जोड़ देगा। संयोग से, ये नए झंडे 'अपूर्ण' गुण हैं। सीधे शब्दों में, इसका मतलब है कि नए झंडे सीधे परिणामी स्मृति को प्रभावित नहीं करेंगे। इसके बजाय, नए झंडे स्मृति को आवंटित करने के तरीके को प्रभावित करेंगे। इसके अलावा, इन झंडों से परिलक्षित नहीं होता है ID3D12Heap :: GetDesc या ID3D12Resource :: GetHeapProperties



D3D12_HEAP_FLAG_CREATE_NOT_RESIDENT:

अपने वर्तमान पुनरावृत्ति में, जब भी कोई डेवलपर डीपीडी को एक ढेर या प्रतिबद्ध संसाधन आवंटित करने का अनुरोध करता है, तो आखिरी चीज जो वस्तु वापस पाने से पहले होती है वह है मेमोरी को निवासी बना दिया जाता है। यह उल्लेखनीय रूप से समान है ID3D12Device :: MakeResident प्रदर्शन किया जा रहा। जोड़ने की आवश्यकता नहीं है, ऐसी प्रक्रिया दो मुद्दों को तुरंत प्रस्तुत करती है:



  1. मेमोरी को पूरी तरह से उपयोग करने के लिए तैयार होने तक डिजाइन एक सीपीयू थ्रेड को ब्लॉक करता है। यह एक आदर्श या वांछित स्थिति नहीं है
  2. यह प्रक्रिया डेवलपर्स को स्मृति को ओवरकम करने की भी अनुमति देगी, वर्तमान प्रक्रिया बजट से परे वह इंगित करता है कि उसे क्या उपयोग करना चाहिए।

नव जोड़ा ID3D12Device3 :: EnqueueMakeResident एप्लिकेशन को विभिन्न विकल्प बनाने की अनुमति देता है। सीपीयू के बजाय जीपीयू का उपयोग करते हुए एप्स रेजीडेंसी की प्रतीक्षा कर सकते हैं या रेजिडेंसी ऑपरेशन को अधिक बजट के बजाय विफल होने का अनुरोध कर सकते हैं। एक अनिवासी राज्य में स्मृति का आवंटन संसाधनों के पहले उपयोग के लिए दोनों लाभों को प्रदान करता है।

D3D12_HEAP_FLAG_CREATE_NOT_ZEROED:

यह ध्वज उन शून्य सामग्री को संबोधित करने का प्रयास करता है जो संसाधनों को प्रतिबद्ध करती हैं और प्राप्त किए गए डी 3 डी द्वारा नए सिरे से निर्मित करती हैं। Microsoft ने इस प्रक्रिया को अधिक पुन: उपयोग स्मृति को सक्षम करके अनुकूलित करने का प्रयास किया था जो किसी भी प्रक्रिया को बिना शून्य किए सीमित नहीं रखता था। हालांकि, यह अच्छी तरह से काम नहीं किया और Microsoft इंजीनियरों को केवल शून्य मेमोरी वापस करने के लिए वापस जाने के लिए मजबूर किया। उल्लेख करने की आवश्यकता नहीं है, यह तरीका काफी थकाऊ था क्योंकि मेमोरी प्रबंधक को पुनः उपयोग के लिए डेवलपर्स को वापस करने से पहले स्मृति में शून्य को स्पष्ट रूप से लिखने की आवश्यकता होती है।

प्रक्रिया को अनुकूलित करने के तरीके के रूप में, डेवलपर्स को केवल ढेर / संसाधन आवंटन के दौरान नए ध्वज को निर्दिष्ट करके थकाऊ प्रक्रिया से बाहर निकलने की क्षमता दी जा रही है। अनिवार्य रूप से, डायनामिक रिऐलोकेशन अनिवार्य ऑल-टाइम ज़ीरोइंग प्रक्रिया को कम कर सकता है, और कुछ फ़्रीड मेमोरी को आवंटित कर सकता है जिसे डेवलपर की प्रक्रियाएँ बिना री-ज़ीरो प्रक्रिया के बिना उपयोग कर रही थीं।



Microsoft ने पहले ही इन नए झंडों को जोड़ दिया है और उन्हें नए ड्राइवरों की आवश्यकता नहीं है। इसके अलावा, कोई समर्पित नहीं है CheckFeatureSupport इनके लिए विकल्प। अनिवार्य रूप से, ये नए झंडे कभी भी उपलब्ध होते हैं जो ID3D12Device8 उजागर होते हैं, या D3D12_FEATURE_D3D12_OPTIONS7 के लिए एक चेक सफल होता है। सभी नए झंडे की मांग है कि डेवलपर्स को डी 3 डी 12 के एक संस्करण पर प्रक्रियाएं चलनी चाहिए जो उन्हें समझता है।

टैग प्रत्यक्ष X12 DirectX माइक्रोसॉफ्ट खिड़कियाँ