2 डी गेम के लिए डीएक्स 10/11 का उपयोग करने में कोई फायदा है?


10

मैं DX10 / 11 क्लास हार्डवेयर द्वारा शुरू किए गए फीचर सेट से पूरी तरह परिचित नहीं हूं। मैं अस्पष्ट ग्राफिक्स पाइप लाइन में जोड़े गए नए चरणों से परिचित हूं, जैसे कि ज्यामिति shader, गणना shader, और नए tessellation चरणों। मैं नहीं देखता कि इनमें से कोई भी 2 डी गेम के लिए कितना अंतर करता है।

क्या किसी 2D गेम के लिए DX10 / 11 (या OpenGL समतुल्य) पर स्विच करने के लिए कोई सम्मोहक कारण है, या यह DX9 के साथ रहना समझदारी होगी कि बाजार का एक महत्वपूर्ण हिस्सा अभी भी पुरानी तकनीकों पर चलता है (जैसे। फरवरी 2012 स्टीम सर्वेक्षण में विंडोज XP का उपयोग करते हुए लगभग 17% उपयोगकर्ताओं की सूची है)?

जवाबों:


5

यह इस बात पर निर्भर करता है कि आप क्या कर रहे हैं। यदि आप Direct3D का उपयोग कर रहे हैं, तो स्विच करने का एकमात्र कारण हार्डवेयर सुविधाओं तक पहुंच प्राप्त करना है जो आपको अन्यथा नहीं मिल सकता है।

2 डी गेम के लिए, यह सैद्धांतिक रूप से संभव है कि कुछ विशेषताएं आपको रुचि दे सकती हैं। उदाहरण के लिए, OpenCL या DirectCompute। सभ्यता V को टेक्सकॉम्पोमेटिंग के लिए DirectCompute से कुछ उपयोग मिलता है। यह नाटकीय रूप से लोड समय को कम करता है, क्योंकि इसमें केवल संपीड़ित डेटा लोड करना होता है। और 2 डी गेम में अक्सर बहुत सारे चित्र होते हैं। यदि लोड समय एक समस्या है, तो यह मदद कर सकता है।

OpneCL सभी GeForce 8xxx हार्डवेयर और इसके बाद के संस्करण पर उपलब्ध होना चाहिए। ATI पर, यह HD 4xxx और बेहतर हार्डवेयर पर उपलब्ध है।

मैं कहता हूं कि DX11 में आप जो सबसे बड़ी सुविधा का उपयोग कर सकते हैं, वह अधिक मनमाने ढंग से छवियों को पढ़ने और लिखने की क्षमता है। यह कुछ विशेष प्रभावों के लिए उपयोगी हो सकता है। मैं अभी किसी के बारे में नहीं सोच सकता ... जो आपको यह बताना चाहिए कि यह महत्वपूर्ण होने की कितनी संभावना है।

सामान्य तौर पर, मैं कहूंगा कि यदि आप डी 3 डी का उपयोग कर रहे हैं, तो आप शायद ज्यादा हासिल नहीं करेंगे। और यदि आप पहले से ही यह नहीं समझ पा रहे हैं कि नई सुविधाएँ क्या हैं और उन्हें अपने खेल में उपयोग करना चाहते हैं, तो आप निश्चित रूप से बहुत कुछ हासिल नहीं करेंगे। उनमें से ज्यादातर अधिक जटिल होने जा रहे हैं।

ओपनजीएल एक प्रमुख कारण के लिए अलग है। OpenGL 2.1 (D3D9 के बराबर-या-कम) एक एपीआई के रूप में बेकार है। OpenGL 3.3 (साथ ही कुछ और हालिया एक्सटेंशन जो 3.3 हार्डवेयर पर चलते हैं) एपीआई को बहुत बेहतर बनाता है। स्पष्ट विशेषता स्थान, शेडर प्रोग्राम को अलग करना, शेडिंग लैंग्वेज पैक 420 में सब कुछ , इत्यादि।

इनमें से कुछ 2.1 के खिलाफ विस्तार रूप में अच्छी तरह से काम करते हैं। उनमें से कुछ ... नहीं। मुझे अभी भी यकीन नहीं है कि attributeघोषणाओं के साथ स्पष्ट विशेषता स्थानों का उपयोग करना ठीक है (वर्तमान inसिंटैक्स से पहले )। शेडिंग लैंग्वेज पैक 420 विशेष रूप से कहता है कि यह 1.30 (उर्फ: ओपनजीएल 3.0) से पहले जीएलएसएल संस्करणों के साथ काम नहीं करता है।

यह कहना नहीं है कि जीएल 2.1 अनुपयोगी है। यह निश्चित रूप से कार्यात्मक और उपयोगी है, बस सुखद नहीं है। हालांकि कुछ ड्राइवर जो आपको मिलेंगे कि इसे लागू करने की सेवा नहीं है । ATI का DX9 हार्डवेयर अब समर्थित नहीं है, इसलिए वे ड्राइवर वास्तव में छोटी गाड़ी हैं। और इंटेल ने कभी भी OpenGL के बारे में परवाह नहीं की, इसलिए उनके हार्डवेयर पर शेड का उपयोग करना पॉट-लक है।

लेकिन व्यक्तिगत रूप से, यदि आपका इच्छित उपयोगकर्ता-आधार इसे अनुमति देता है, तो मैं जीएल 3.3 पर धक्का दूंगा यदि आप ओपनजीएल का उपयोग कर रहे हैं। यदि नहीं, तो आपको सिर्फ 2.1 मुद्दों से निपटना होगा।


5

कुछ चीजें हैं जो मुझे लगता है कि आपको विचार करना चाहिए:

  • यदि आपके पास अच्छी तरह से परीक्षण किया हुआ डी 3 डी 9 इंजन है, तो शायद यह डी 3 डी 11 को पोर्ट करने लायक नहीं है, अगर आप नई सुविधाओं का उपयोग नहीं करेंगे। जब खरोंच से शुरू डी 3 डी 11 बहुत अधिक आकर्षक है।

  • आपके गेम की रिलीज़ की तारीख कितनी जल्दी होगी? XP केवल दो वर्षों में समर्थन से बाहर हो जाएगा, और यदि आप ऐतिहासिक डेटा को देखते हैं कि XP ​​इंस्टॉल बेस काफी तेज़ी से गिर रहा है (स्टीम पर ~ 1% / महीना)।

  • विचार करें कि XP ​​उपयोगकर्ताओं के 17% के अनुपात में एक पीसी क्या होगा जो आपके गेम के लिए डी 3 डी 9 के तहत न्यूनतम कल्पना को पूरा करता है। जितना अधिक वह उतना ही अधिक सार्थक है, वह उनका समर्थन कर रहा है।

  • नए विकास के लिए उपयोग करने के लिए DX10 ज्यादातर व्यर्थ है। DX11 समान ऑपरेटिंग सिस्टम और हार्डवेयर (फीचर स्तरों के माध्यम से) पर चलता है।

  • DX11 एक सॉफ्टवेयर रेंडरर (WARP) को फॉलबैक डिवाइस के रूप में सपोर्ट करता है, जो कि कम GPU आवश्यकताओं के साथ गेम चलाने के लिए पर्याप्त त्वरित हो सकता है।

  • जब यह डी 3 डी 9 फीचर स्तरों में से किसी का उपयोग कर रहा है, तो एनटीडी डीएक्स 9 डी 3 डी 11 की तुलना में अधिक सुविधाओं का समर्थन करता है। शुक्र है कि DX10 सक्षम पीसी में DX9 हार्डवेयर दुर्लभ है।

  • DX10 / 11 हार्डवेयर में बहुत कम विविध क्षमताएं हैं, इसलिए यदि आप DX9 हार्डवेयर उपयोग WARP करते हैं, तो आपको गैर-पावर-ऑफ-टू टेक्सचर या अजीब टेक्सल-पिक्सेल मैपिंग जैसी चीजों के साथ अजीब सीमाओं के बारे में चिंता करने की आवश्यकता नहीं है ।

  • यदि आपका गेम हार्डवेयर इंटेंसिव होने जा रहा है तो प्रदर्शन को बढ़ावा देने के लिए DX11 में कुछ अतिरिक्त ट्रिक्स उपलब्ध हैं। उदाहरण के लिए ड्रॉ कोड को मल्टी-थ्रेडिंग।


मैं फीचर स्तरों के बारे में थोड़ा भ्रमित हूं। अगर मैं DX11 का उपयोग कर विकसित करता हूं, लेकिन एक DX9 सुविधा स्तर को लक्षित करता हूं, तो मैं समझता हूं कि यह DX9 हार्डवेयर पर चलेगा। लेकिन क्या अब भी इसे DX11 रनटाइम की आवश्यकता होगी यानी यह विंडोज़ एक्सपी पर चलेगा?
डेविड गाविया

DX11 XP पर बिल्कुल भी काम नहीं करता है। सुविधा स्तर क्या करते हैं, आप पुराने हार्डवेयर के साथ DX11 API का उपयोग करते हैं। Msdn.microsoft.com/en-us/library/ff476876%28v=vs.85%29.aspx की जाँच करें कि प्रत्येक फीचर स्तर आपको क्या करने देता है।
एडम

1

यदि आप बड़ी संख्या में कणों या स्प्राइट्स की योजना बनाते हैं, तो अकेले ज्यामिति शेडर्स डी 3 डी 10/11 का उपयोग करने का एक कारण है।

DirectCompute का उपयोग कुछ अच्छे स्पीड लाभों के लिए भी किया जा सकता है।

निजी तौर पर, केवल डीएमडी 10/11 के दूर के क्लीनर और अच्छे एपीआई होने से किसी भी आधुनिक-विंडोज-केवल परियोजनाओं के लिए डी 3 डी 9 या ओपनगेल को फिर से कभी नहीं छूने का पर्याप्त कारण है। वास्तविक रूप से, हालांकि, जीएल ES के साथ मोबाइल उपकरणों को लक्षित करने की आवश्यकता है और अभी भी बड़े आकार की WinXP भीड़ D3D10 / 11 से बचने और D3D9 या OpenGL से चिपके रहने की आवश्यकता है।

ध्यान दें कि OpenGL रूट पर जाने से आपको WinXP पर जियोमेट्री शेड्स, ओपनसीएल और अन्य नए हार्डवेयर फीचर्स मिलते हैं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.