क्या अनुक्रमित आदिम पदार्थों को प्रस्तुत करते समय वर्टेक्स बफर डेटा का क्रम होता है?


14

मैं एक 3 डी ऑब्जेक्ट के त्रिकोण का निर्माण कर रहा हूं। यदि मैं उन्हें बफर में लिख सकता हूं, तो वे जिस क्रम में गणना करते हैं, वह सीपीयू कोड को सरल करेगा। त्रिकोण के लिए कोने सन्निहित नहीं होंगे।

क्या उन्हें आदेश से बाहर करने के लिए कोई प्रदर्शन दंड है?

जवाबों:


12

यहाँ खेलने के लिए (कम से कम) दो कारक हैं। जब अनुक्रमित प्राइमेटरी प्रदान की जाती हैं, तो GPU पोस्ट-ट्रांसफ़ॉर्म वर्टेक्स कैश का उपयोग कर सकते हैं। इस कैश का आकार भिन्न होता है, और यह एक व्यक्तिगत ड्रा कॉल के दौरान उपयोग किया जाता है (कई कॉलों में नहीं, जहां तक ​​मुझे पता है, इसलिए यह कोई फर्क नहीं पड़ता कि आप उस संदर्भ में बफर डेटा को कितनी बार बदलते हैं)।

यदि आप इस कैश का लाभ उठाने के लिए अपने डेटा को व्यवस्थित करते हैं (एक उदाहरण एल्गोरिथ्म यहाँ है ), तो आप प्रदर्शन में सुधार देख सकते हैं। हालाँकि, इस संगठन के पास आपके सूचकांकों को क्रमबद्ध करने के लिए अधिक है ताकि प्रत्येक सूचकांक ट्रिपल संभव के रूप में कई हाल ही में देखा कोने का पुन: उपयोग करता है। यह संभवतः आपके विशिष्ट परिदृश्य पर बहुत कम असर डालता है, जब तक कि आपके त्रिकोण, आपके सूचकांक बफर के माध्यम से, बफर में भी बेतरतीब ढंग से बिखरे हुए हैं ... जिस स्थिति में आप शायद कैश को अक्सर उड़ा रहे हैं। यह आपके मामले में मेरे लिए स्पष्ट नहीं था कि यह मामला था या नहीं, इसलिए मैंने सोचा कि यह ध्यान देने योग्य है।

समस्या होने की अधिक संभावना है कि जीपीयू भी मेमोरी को ड्रॉ के दौरान वर्टेक्स डेटा तक पहुंचाता है। के आकार कि कैश भी काफी unreliably आकार जाता है और यह कल्पना है कि आप बहुत खराब स्थानीय शिखर डेटा में अलग-अलग उन सूचकांक प्रसंस्करण कोर पर कि कैश में एक उच्च याद आती है आवृत्ति मिल सकता है।

जैसा कि आपके आवेदन में लाल झंडा होने के लिए प्रदर्शन के मुद्दे के पर्याप्त होने या न होने के कारण, और एल्गोरिथम की पठनीयता की कीमत पर डेटा को बेहतर ढंग से व्यवस्थित करने के लिए अपने एल्गोरिथ्म को फिर से इंजीनियर करने के लिए विशेष रूप से (ऐसा लगता है)। ... यह कुछ ऐसा नहीं है जिसका मैं उत्तर दे सकता हूं, आपको कुछ परिदृश्यों को देखना होगा और देखना होगा।

मैं व्यक्तिगत रूप से पठनीय, बनाए रखने योग्य कोड के पक्ष में, हालांकि, जैसा कि मैं हूं कि लगता है कि आपके द्वारा अनुपलब्ध किसी भी कैश के कारण उपयोगकर्ताओं को नोटिस करने के लिए पर्याप्त महत्वपूर्ण नहीं होगा।

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