जवाबों:
चालक विकास के कुछ वर्षों के साथ किसी के रूप में, मैं इसे दो अलग-अलग मुद्दों के रूप में देखता हूं।
एक ग्राफिक्स ड्राइवर एक बहुत ही जटिल जानवर है। एक इष्टतम तरीके से सब कुछ लागू करने के लिए एक बस असंभव कार्य होगा; यह एक बड़ी बाधा है बस एक ड्राइवर बनाने के लिए जो वास्तव में चश्मे का अनुसरण करता है - और चश्मा तेजी से अधिक जटिल होते रहते हैं। तो, आप अपने ड्राइवर को कल्पना के आधार पर विकसित करते हैं, और मुट्ठी भर परीक्षण एप्लिकेशन (जैसे, कई मामलों में, अभी तक कोई वास्तविक सॉफ़्टवेयर नहीं है)।
एक वास्तविक गेम (या बेंचमार्क, या ड्राइवर के लिए कुछ अन्य उपयोग का मामला, जैसे वीडियो डिकोडिंग) आता है, जो ड्राइवर में एक अड़चन को उजागर करता है। तुम जाओ, समझ से बाहर कैसे चीजों को सुचारू बनाने के लिए और उस मामले का उपयोग तेजी से करें। आप आसानी से रिपोर्ट कर सकते हैं कि गेम XYZ 27.3% तेज है, लेकिन वास्तव में हर एप्लिकेशन जिसने उपयोग के मामले (जैसे, गतिशील बनावट अद्यतन) को तेज कहा है।
उसके बाद बदसूरत पक्ष, वास्तविक प्रति-एप्लिकेशन अनुकूलन, जिसमें ड्राइवर यह पता लगाता है कि क्या एप्लिकेशन चलाया जा रहा है (या कौन सा shader संकलित किया जा रहा है) और कुछ गैर-जेनेरिक करता है। इस के बहुत सारे प्रचारित मामले हैं, जहां, उदाहरण के लिए, 3 डी निष्पादन योग्य का नाम बदलने से अचानक परिणाम बदल जाते हैं।
मुझे लगता है कि इस प्रकार के अनुकूलन हर किसी के समय की बर्बादी हैं - आप बेंचमार्क के मामले में अपने ग्राहकों से झूठ बोलते हैं, और आप उस तरीके को बदल सकते हैं जिस तरह से एक shader व्यवहार करता है जो डेवलपर वास्तव में चाहता है। मुझे एक मामला याद आता है, जहां एक शैडर को टेक्सचर लुक से इन-शैडर गणना (जो केवल निर्माता के हार्डवेयर के लिए काम करता था) में बदल दिया गया था, जो करीब था, लेकिन बिल्कुल समान परिणाम नहीं था, और डेवलपर ने कहा कि यह कानूनी नहीं था अनुकूलन।
एक आदर्श दुनिया में वे नहीं करेंगे।
हालांकि यह एक आदर्श दुनिया नहीं है, इसलिए खेल-विशिष्ट प्रदर्शन में सुधार निम्नलिखित में से एक या एक से अधिक हो सकता है (एक थकाऊ सूची होने का इरादा नहीं):
खेल राज्यों एक्स, वाई और जेड सेट के साथ ए, बी और सी के संयोजन का काम कर रहा है। चालक इसके आधार पर धारणा बना सकता है और चीजों को अधिक इष्टतम कोड पथ पर धकेल सकता है।
खेल कभी भी संचालन I, J या K नहीं करता है। फिर से, चालक यह मानने में सक्षम होने के आधार पर अधिक इष्टतम कोड पथ चुन सकता है कि ये ऑपरेशन कभी नहीं किए गए हैं।
खेल कुछ चीजें थोड़े (या इतने थोड़े नहीं) में अपनाता है। ड्राइवर यह जानता है, कॉल को स्वीकार करता है, और उन्हें कुछ (उम्मीद!) समकक्ष में परिवर्तित करता है जो इसके साथ बेहतर काम करेगा।
गेम-विशिष्ट ट्रेडऑफ़ बनाए जा सकते हैं; उदाहरण के लिए, यह ठीक है यदि रेंडर राज्यों का यह संयोजन धीमा हो जाता है क्योंकि यह अधिक महत्वपूर्ण है कि यह संयोजन तेजी से आगे बढ़े तो तदनुसार अनुकूलन करें।
यहां यह नोट करना महत्वपूर्ण है कि इनमें से कोई भी वास्तव में "आवश्यक" नहीं होना चाहिए। इसलिए जब तक ड्राइवर और गेम दोनों का एपीआई उपयोग अनुरूप हो, तब तक काम करना चाहिए। लेकिन कभी-कभी अधिकतम प्रदर्शन निकालने में सक्षम होने के लिए विशेष-केस ट्रेडऑफ को उचित रूप में देखा जा सकता है। मैं इस पर टिप्पणी करने से बचूंगा कि अच्छी बात है या नहीं।
गेम डेवलपर्स जीपीयू की सीमा को आगे बढ़ाते हैं। हम एक खेल और एक खेल इंजन के लिए एक सादृश्य बना सकते हैं। खेल की आवश्यकताएं जितनी अधिक उन्नत होंगी, उतना ही उन्नत खेल इंजन को इसका समर्थन करने की आवश्यकता होगी। ग्राफिक्स कार्ड के साथ भी ऐसा ही है।
कंप्यूटर गेम और जीपीयू मैन्युफैक्चरर अच्छे बेड फेलो हैं। यह GPU को बेहतर बनाने के लिए एक साथ काम करने के लिए उनके सर्वोत्तम हित में है, जिससे खेल में सुधार होगा। यह हार्डवेयर लोगों के रिश्ते के साथ काम करने वाला क्लासिक सॉफ्टवेयर है। जब सॉफ्टवेयर और हार्डवेयर के बीच इंटरफेस डिजाइन करने की बात आती है, तो दोनों पक्षों को जोड़ने के लिए कुछ होता है। वह इंटरफ़ेस ड्राइवर है।
इन अद्यतनों में बग फिक्स शामिल हो सकते हैं, जो सॉफ्टवेयर लोगों ने पाया, या हार्डवेयर लोगों ने सॉफ्टवेयर लोगों की आवश्यकताओं का समर्थन करने के लिए सुधार किए हैं। आपको यह रिश्ता बिलकुल मिल जाएगा।
ड्राइवर अपडेट रिलीज नोट्स में विशिष्ट गेम को शामिल करने के पीछे तर्क पीआर है। यह न केवल दिखाता है कि कार्ड निर्माता एक्स गेम वाई के साथ वास्तव में अच्छी तरह से काम करने जा रहा है, लेकिन यह दर्शाता है कि गेम वाई पहले से भी बेहतर होने वाला है।
यह प्रशंसनीय है कि गेम डेवलपमेंट टीम जीपीयू ड्राइवर बग में भाग गई जो कि ड्राइवर बग को ठीक नहीं करने पर गेम को सही ढंग से काम नहीं करने का कारण होगा ।
यह कभी-कभी मार्केटिंग नौटंकी भी है । उदाहरण के लिए, एटीआई / एएमडी ने हाल ही में अपने नए जीपीयू के साथ डर्ट 3 की एक कॉपी को बंडल किया और इस गेम पर 3 मॉनिटर के साथ आईफिनिटी के साथ खेलने के विचार को आगे बढ़ाया।
तो यह वहाँ सहजीवन का एक सा है।
GPU विक्रेता: अरे! यह नई सुविधा! कोई इसका उपयोग नहीं कर रहा है!
गेम डेवलपर: हम इसका इस्तेमाल कर सकते हैं! हमारे गेम को अपने GPU के साथ बंडल करें जो इस सुविधा का उपयोग करता है?
GPU विक्रेता: नर्क!
सच्चाई यह है कि GPU को गेम-विशिष्ट ड्राइवरों की आवश्यकता नहीं है ।
गेम-विशिष्ट ड्राइवर GPU निर्माताओं द्वारा अन्य जीपीयू निर्माताओं पर बढ़त हासिल करने की कोशिश के लिए एक विपणन प्रयास का हिस्सा हैं। यदि वे उन विशिष्ट खेलों के लिए अपने ड्राइवरों को कस्टम-ट्यून करके लोकप्रिय खेलों में बेहतर प्रदर्शन दिखा सकते हैं, तो (सिद्धांत जाता है) वे उन खेलों के अधिक खिलाड़ियों को आकर्षित करते हैं।
यह सब बहुत सुंदर है।