समान बिट के साथ लक्ष्यों को प्रस्तुत करना क्यों महत्वपूर्ण है?


10

मैं वर्तमान में सोच रहा हूं कि किस प्रकार के GBuffer के लिए मुझे आस्थगित छायांकन की आवश्यकता होगी, इसलिए मैंने खुद को सबसे आम लोगों और उनके प्रारूप के बारे में ऑनलाइन दस्तावेज़ करने की भी कोशिश की।

अधिकांश GBuffer जो मैंने प्रत्येक रेंडर टार्गेट के लिए एक ही बिट साइज का उपयोग किया है, को भी अप्रयुक्त चैनलों में ले जाता है। हालाँकि, कागज पर मेरे GBuffer के लिए पहले अनुमान के रूप में, मुझे दो 24 बिट लक्ष्य और दो 32 वाले या तीन 24 और एक 32 की आवश्यकता है।

मैं समझता हूं कि समान "आकार" होने पर, प्रत्येक अनुलग्नक को बेहतर रूप से संरेखित किया जा सकता है, लेकिन व्यावहारिक रूप से बोलना चैनलों को बर्बाद करना बेहतर है (या उन्हें भविष्य के उपयोग के लिए आरक्षित करें) और समान आकार के सभी आरटी होने या मुझे बस उपयोग की आवश्यकता है? पूर्व के मामले में, यह इतना फायदा क्यों है, क्या 24 बिट्स को वैसे भी 32 में रखा जाएगा?

जवाबों:


9

मैं समझता हूं कि समान "आकार" होने पर, प्रत्येक अनुलग्नक को बेहतर रूप से संरेखित किया जा सकता है, लेकिन व्यावहारिक रूप से बोलना चैनलों को बर्बाद करना बेहतर है (या उन्हें भविष्य के उपयोग के लिए आरक्षित करें) और समान आकार के सभी आरटी होने या मुझे बस उपयोग की आवश्यकता है?

एक एकीकृत 32 बिट संरेखित रेंडर टारगेट बेहतर है, भले ही इसका अर्थ है कि कुछ स्मृति को "बर्बाद" करना। यह एक गैर 32bit संरेखित स्मृति होने की तुलना में बहुत तेज़ होगा। इसके अलावा, आपको कई प्रकार के बफ़र्स का समर्थन करने की समस्या नहीं होगी, बफ़र्स की प्रतिलिपि बनाना और संयोजन करना आसान होगा क्योंकि आपको कई प्रकारों के बीच कनवर्ट नहीं करना पड़ेगा।

32 बिट GPU और CPU के लिए मूल है, इसलिए आप मेमोरी को पढ़ने के लिए आवश्यक चक्रों की संख्या कम कर देंगे। जीपीयू स्वाभाविक रूप से 32 बिट्स को पढ़ने की कोशिश करेगा, अगर आप अनलग्ड मेमोरी एड्रेस को पढ़ने की कोशिश कर रहे हैं, जैसे कि 24 बिट्स गठबंधन, जीपीयू 32 बिट्स को पढ़ेगा और फिर अनचाहे बाइट्स को बाहर कर देगा।

यहाँ एक विस्तृत लेख है कि मेमोरी संरेखण क्यों मायने रखता है (आखिरकार यह सीपीयू के बारे में बात करता है जीपीयू नहीं उच्च स्तरीय अवधारणा अभी भी लागू होती है।)

क्या 24 बिट वालों को वैसे भी 32 में गद्देदार बनाया जाएगा?

कुछ GPU इसे पैड करेंगे, लेकिन इसकी गारंटी नहीं दी जा सकती है, इसलिए यह ड्राइवर / GPU कार्यान्वयन क्षेत्र में देता है। इसलिए आपको परिणामों को प्रोफाइल करना और जांचना होगा।

पुनश्च: 32 बिट या 64 बिट वास्तुकला पर निर्भर करता है।


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