वर्टेक्स मेमोरी बैंडविड्थ के इस्तेमाल का विश्लेषण करना

वर्टेक्स डेटा की मेमोरी बैंडविड्थ, आपके गेम की जीपीयू परफ़ॉर्मेंस के लिए एक संभावित समस्या हो सकती है. एजीआई सिस्टम प्रोफ़ाइल में कुछ काउंटर होते हैं. इनसे वर्टेक्स मेमोरी बैंडविड्थ से जुड़ी समस्याओं का पता लगाने में मदद मिलती है.

Qualcomm Adreno काउंटर

Qualcomm Adreno GPU वाले डिवाइसों पर, कुछ खास काउंटर में ये शामिल हैं:

काउंटर ब्यौरा
वर्टेक्स मेमोरी रीड बाहरी मेमोरी से पढ़े गए वर्टेक्स डेटा की बैंडविड्थ.
औसत बाइट/वर्टेक्स वर्टेक्स डेटा का औसत साइज़, बाइट में.
वर्टेक्स फ़ेच में लगने वाला समय क्लॉक साइकल का वह प्रतिशत जिसमें वर्टेक्स डेटा पर GPU ब्लॉक किया जाता है.

ARM Mali काउंटर (WIP)

ARM Mali GPU वाले डिवाइसों पर, कुछ खास काउंटर में ये शामिल हैं:

काउंटर ब्यौरा
बाहरी मेमोरी से रीड बीट लोड/सेव करें लोड/स्टोर यूनिट, बाहरी मेमोरी से डेटा पढ़ती है. इस डेटा को शेडर कोर पर औसत किया जाता है.
L2 कैश मेमोरी से रीड बीट लोड/स्टोर करें लोड/स्टोर यूनिट से L2 कैश से पढ़े गए डेटा बीट, जो शेडर कोर पर औसत होते हैं.
[ज़्यादा]

औसत रीड बीट से कुल बैंडविड्थ का हिसाब लगाने के लिए, काउंटर वैल्यू को बस की चौड़ाई (आम तौर पर 16 बाइट) और शेडर कोर की कुल संख्या से गुणा किया जाता है. [ज़्यादा]

काउंटर ऐनलिसिस

इन काउंटर के व्यवहार का पता लगाने के लिए, किसी एक जीपीयू फ़्रेम के दौरान औसत और पीक बैंडविड्थ को मेज़र किया जा सकता है. इसे जीपीयू के इस्तेमाल के लगातार ब्लॉक से दिखाया जा सकता है.

एक फ़्रेम के लिए, वर्टेक्स मेमोरी को पढ़ने की बैंडविड्थ. इसकी औसत वैल्यू 327 MBps और पीक वैल्यू 1.16 GBps है
पहली इमेज: एक फ़्रेम के लिए वर्टेक्स मेमोरी रीड बैंडविड्थ. इसकी औसत वैल्यू 327 एमबीपीएस और पीक वैल्यू 1.16 जीबीपीएस है

हमारा सुझाव है कि वर्टेक्स मेमोरी रीड बैंडविड्थ 1.5 GBps से ज़्यादा न हो. साथ ही, औसत बैंडविड्थ 500 MBps से ज़्यादा न हो. ज़्यादा वैल्यू से, कुछ सामान्य समस्याओं के बारे में पता चलता है:

  • वर्टेक्स का साइज़ बहुत बड़ा है: वर्टेक्स में वर्टेक्स एट्रिब्यूट या वर्टेक्स एट्रिब्यूट की बड़ी संख्या हो सकती है. इससे वर्टेक्स शेडिंग के समय पर काफ़ी असर पड़ता है.
  • वर्टेक्स एट्रिब्यूट स्ट्रीम को अलग-अलग नहीं किया जाता: वर्टेक्स एट्रिब्यूट को एक ही बफ़र में इंटरलीव किया जाता है. इससे कैश मेमोरी की क्षमता कम हो जाती है.
  • हर फ़्रेम के लिए बहुत ज़्यादा वर्टेक्स सबमिट किए गए हैं: जटिल मॉडल और/या ज़्यादा संख्या में मॉडल, ज़्यादा बैंडविड्थ का इस्तेमाल कर सकते हैं. साथ ही, इन्हें शेड करने में ज़्यादा समय लग सकता है.

वर्टेक्स के साइज़ से जुड़ी समस्याओं का पता, औसत बाइट / वर्टेक्स ट्रैक से भी लगाया जा सकता है. हमारा सुझाव है कि यह 32 बाइट या वर्टेक्स से ज़्यादा न हो.

एक फ़्रेम के लिए वर्टेक्स का औसत साइज़, जिसकी औसत वैल्यू 31.3 बाइट है
दूसरी इमेज: एक फ़्रेम के लिए वर्टेक्स का औसत साइज़, जिसकी औसत वैल्यू 31.3 बाइट है

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