चलो एक बड़े ग्रिड जाल की कल्पना करते हैं, जैसे कि हम इलाके के लिए उपयोग कर सकते हैं। हम इसके n
लायक त्रिकोणों को प्रस्तुत करेंगे , एक ही ड्रॉ कॉल में आधी हमारी 1080p स्क्रीन को कवर करते हुए।
यदि हम अपने सभी कोने का स्वागत करते हैं और इसमें कोई चिकनाई / बनावट नहीं होती है, तो प्रत्येक त्रिकोण में 3 कोने होते हैं और प्रत्येक शीर्ष पर 6 त्रिकोण होते हैं, इसलिए हमारे पास n/2
कोने होते हैं।
इसे प्रस्तुत करने के लिए हमें निम्नलिखित की आवश्यकता है:
कम से कम n/2
समय में वर्टेक्स शेडर चलाएं
("कम से कम" क्योंकि शीर्ष परिणामों के लिए हमारा कैश केवल इतना बड़ा है। कभी-कभी हम पहले से बदल चुके एक शीर्ष को समाप्त कर देंगे, फिर बाद के त्रिकोण के लिए इसे फिर से साझा करने की आवश्यकता है और इसे फिर से शीर्ष पर रखें। तो हम कागज पर जैसा दिखता है उतना बचत नहीं करते हैं)
क्लिप और पतले n
त्रिकोण।
कम से कम 1920x1080 / 2 या फ्रेम बफर के बारे में 1 मिलियन पिक्सल से अधिक को व्यवस्थित करें और प्रक्षेपित करें (क्योंकि हमने कहा था कि हमारा इलाका लगभग आधी स्क्रीन को कवर करता है)।
"कम से कम" जिस तरह से जीपीयू पिक्सल के क्वाड्स पर काम करते हैं, वैसे ही बहुभुज के किनारों के बाहर कुछ टुकड़े अभी भी सड़ गए हैं, लेकिन फिर नकाबपोश हैं, जिसका अर्थ है कि हम दो बार टुकड़ों को संसाधित करते हैं। एक ऊबड़ जाल के लिए हम जाल के साथ कहीं भी अतिव्यापी हो जाएंगे। खुद को हल करता है, अगर हम पहले से ही बहुभुज को गहराई से बफर में खींचने के लिए भाग्यशाली नहीं हैं)
उन सभी> = 1 मिलियन अंशों के लिए टुकड़े टुकड़े करें।
फ्रेम और गहराई बफ़र्स में ~ 1 मिलियन परिणाम ब्लेंड।
ठीक है, अब अपने सभी वर्टिकल को अनडाल कर दें ताकि अब हमारे पास पहले की तुलना में छह गुना अधिक3n
रेंडर करने के लिए वर्टिकल हों ! हमारे कदम हैं ...
शीर्ष shader 3n
बार चलाएँ ।
(कैशिंग के कारण कोई भी तारांकन नहीं होता है क्योंकि हर वर्टेक्स का उपयोग केवल एक बार किया जाता है, हालांकि इसका अर्थ है कि कैश हमें किसी भी समय नहीं बचा सकता है)
क्लिप और पतले n
त्रिकोण।
कम से कम 1920x1080 / 2 या फ़्रेम बफर के लगभग 1 मिलियन पिक्सेल पर रस्टराइज़ और इंटरपोल करें।
उन सभी> = 1 मिलियन अंशों के लिए टुकड़े टुकड़े करें।
फ्रेम और गहराई बफ़र्स में ~ 1 मिलियन परिणाम ब्लेंड।
... रुको, पहले वाले को छोड़कर हर कदम एक समान है! इसलिए अधिकांश कार्य जो GPU एक विशिष्ट ड्रॉ कॉल में करता है, सीधे उपयोग किए जाने वाले शीर्षकों से संबंधित नहीं है। स्क्रीन कवरेज, ओवरड्रॉ, और कुल त्रिकोण गणना की मात्रा लागत का बहुत अधिक हिस्सा बनाती है।
इसका मतलब यह नहीं है कि कोने पूरी तरह से स्वतंत्र हैं। यदि आप कैशिंग से कुछ हद तक बचत प्राप्त कर सकते हैं, तो जब आप अपने वर्टीकल शेड्स जटिल होते हैं या आपके हार्डवेयर की वर्टीकल पाइप लाइन कमजोर होती है (जैसा कि कुछ पुराने कंसोल पर होता था)। लेकिन यह देखते हुए कि शीर्ष गणना त्रिकोण गणना प्लस या एक स्थिर कारक के समानुपाती है, यह आमतौर पर समग्र जाल लागत का एक मीट्रिक के रूप में दिलचस्प नहीं है।