मैं अपनी परियोजनाओं के लिए XNA का उपयोग करता हूं और उन मंचों पर मैं कभी-कभी इस तथ्य के संदर्भ में देखता हूं कि जाल के लिए एक प्रभाव की अदला-बदली की लागत अपेक्षाकृत अधिक है, जो मुझे आश्चर्यचकित करती है क्योंकि मैंने सोचा था कि एक प्रभाव को बदलने के लिए बस प्रतिस्थापन shader कार्यक्रम की नकल करने का मामला था उपयुक्त मापदंडों के साथ GPU के लिए।
मैंने सोचा कि अगर कोई इस प्रक्रिया के बारे में महंगा क्या समझा सकता है? और अगर संभव हो तो 'अपेक्षाकृत' संदर्भ में कहें?
उदाहरण के लिए, मैं पिकिंग में मदद करने के लिए एक छोटे शेडर का उपयोग करना चाहता था, मैं करूँगा:
- हर वस्तु पर प्रभाव को बदलें, इसे पहचानने के लिए एक अद्वितीय रंग को शांत करना और इसे छायादार को प्रदान करना।
- सभी ऑब्जेक्ट्स को मेमोरी में रेंडर टारगेट पर ड्रा करें।
- लक्ष्य से रंग प्राप्त करें और चयनित ऑब्जेक्ट को देखने के लिए इसका उपयोग करें।
उस प्रक्रिया को पूरा करने में लगने वाले कुल समय के किस हिस्से को शेड को स्वैप करने में खर्च किया जाएगा? मेरी वृत्ति कहेगी कि दृश्य को फिर से प्रस्तुत करना, चाहे वह कितना भी सरल क्यों न हो, प्रक्रिया के किसी अन्य भाग की तुलना में परिमाण को धीमा करने का एक क्रम होगा, इसलिए सभी प्रभाव पर चिंता क्यों?