टेक्सचर डेटा की मेमोरी बैंडविड्थ, आपके ऐप्लिकेशन की जीपीयू परफ़ॉर्मेंस के लिए बॉटलनेक हो सकती है. एजीआई सिस्टम प्रोफ़ाइल में कुछ काउंटर होते हैं. इनसे टेक्सचर मेमोरी बैंडविड्थ से जुड़ी समस्याओं का पता लगाने में मदद मिलती है.
Qualcomm Adreno काउंटर
Qualcomm Adreno GPU वाले डिवाइसों पर, कुछ खास काउंटर में ये शामिल हैं:
काउंटर | ब्यौरा |
---|---|
टेक्स्चर मेमोरी से डेटा पढ़ने की बैंडविड्थ (बाइट/सेकंड) | बाहरी मेमोरी से पढ़े गए टेक्सचर डेटा का बैंडविथ. |
% टेक्स्चर L1 मिस | टेक्सचर फ़ेच करते समय, L1 कैश मेमोरी में मौजूद डेटा नहीं मिला. |
बेस लेवल के अलावा अन्य टेक्सचर का प्रतिशत | टेक्सचर फ़ेच का वह प्रतिशत जो मिपमैप हैं. |
% एनिसोट्रोपिक फ़िल्टर किया गया | एनिसोट्रॉपिक फ़िल्टर किए गए टेक्सल का प्रतिशत. |
ARM Mali काउंटर
ARM Mali GPU वाले डिवाइसों पर, कुछ खास काउंटर में ये शामिल हैं:
काउंटर | ब्यौरा |
---|---|
बाहरी मेमोरी से टेक्सचर रीड बीट | टेक्सचर यूनिट, बाहरी मेमोरी से डेटा बीट पढ़ती है. इसका औसत, शेडर कोर पर निकाला जाता है. |
L2 कैश मेमोरी से टेक्सचर रीड बीट | टेक्सचर यूनिट के ज़रिए L2 कैश से पढ़े गए डेटा की जानकारी. इसका औसत, शेडर कोर के हिसाब से निकाला जाता है. |
[ज़्यादा] |
औसत रीड बीट से कुल बैंडविड्थ का हिसाब लगाने के लिए, काउंटर वैल्यू को बस की चौड़ाई (आम तौर पर 16 बाइट) और शेडर कोर की कुल संख्या से गुणा किया जाता है.
काउंटर ऐनलिसिस
इन काउंटर के व्यवहार का आकलन करने के लिए, एक जीपीयू फ़्रेम के दौरान औसत और पीक बैंडविड्थ का आकलन करें. इसके बाद, जीपीयू के इस्तेमाल के लगातार ब्लॉक के साथ सीमा तय करें.

हमारा सुझाव है कि टेक्सचर मेमोरी को पढ़ने का औसत बैंडविड्थ 1 GBps से ज़्यादा नहीं होना चाहिए. साथ ही, पीक बैंडविड्थ 3 GBps से ज़्यादा नहीं होना चाहिए. टेक्सचर L1 कैश मेमोरी मिस होने की दर भी 10% से ज़्यादा नहीं होनी चाहिए. बैंडविड्थ या L1 कैश मेमोरी की ज़्यादा वैल्यू, टेक्सचर से जुड़ी गंभीर समस्याओं के बारे में बता सकती हैं. जैसे:
- टेक्स्चर का साइज़ बहुत बड़ा है: बड़े टेक्स्चर की वजह से, आपके पैकेज का साइज़ बढ़ जाता है. साथ ही, ये ज़्यादा महंगे होते हैं और इनसे कैश मेमोरी की क्षमता कम हो सकती है.
- टेक्सचर कंप्रेस नहीं किए गए हैं: सभी Android फ़ोन, कुछ तरह के टेक्सचर कंप्रेस करने की सुविधा के साथ काम करते हैं. जैसे, ETC1 या ASTC. पैकेज का साइज़ और टेक्सचर बैंडविड्थ कम करने के लिए, टेक्सचर को कंप्रेस किया जाना चाहिए.
- अन्य: बनावट से जुड़ी अन्य समस्याओं पर भी ध्यान देना चाहिए. जैसे, पावर-ऑफ़-2 टेक्सचर, मिपमैपिंग, एनिसोट्रॉपिक फ़िल्टरिंग वगैरह. इनमें से कुछ को सिस्टम प्रोफ़ाइल से देखा जा सकता है. इसके बारे में यहां बताया गया है. हालांकि, अन्य समस्याओं की जांच करने के लिए, ज़्यादा जानकारी की ज़रूरत पड़ सकती है.
फ़्री कैमरे वाले थ्री-डाइमेंशनल गेम के लिए, टेक्सचर ऐसेट में मिपमैपिंग का इस्तेमाल किया जाना चाहिए. इससे कैमरे से दूर मौजूद ऑब्जेक्ट के लिए, मेमोरी बैंडविड्थ कम हो जाएगा. साथ ही, टेक्सचर कैश की क्षमता और इमेज क्वालिटी बेहतर हो जाएगी. Qualcomm Adreno GPU का इस्तेमाल करने वाले डिवाइसों के लिए, अगर % नॉन-बेस लेवल टेक्सचर काउंटर की औसत वैल्यू 10% से कम है, तो इसका मतलब है कि मिपमैपिंग सही तरीके से नहीं हो रही है.

एक और अहम बात यह है कि एनिसोट्रॉपिक फ़िल्टरिंग का इस्तेमाल किया जाता है. % एनिसोट्रॉपिक फ़िल्टर किया गया काउंटर से पता चलता है कि Qualcomm Adreno GPU के लिए, कितने टेक्सल को एनिसोट्रॉपिक फ़िल्टर किया गया है. इससे कुछ गेम की विज़ुअल क्वालिटी बेहतर हो सकती है. हालांकि, यह बहुत महंगा भी हो सकता है. इसलिए, इसका इस्तेमाल करने से पहले, जीपीयू की परफ़ॉर्मेंस की लागत का आकलन कर लेना चाहिए.

ज़्यादा खास समस्याओं का पता लगाने का सबसे अच्छा तरीका, फ़्रेम प्रोफ़ाइल ट्रेस करना है. इससे टेक्सचर ऐसेट का विश्लेषण किया जा सकता है.