تحليل استخدام معدل نقل البيانات للذاكرة في الرأس

يمكن أن يكون معدّل نقل بيانات ذاكرة بيانات الرؤوس عنق زجاجة محتملاً لأداء وحدة معالجة الرسومات في لعبتك. تتضمّن ملفات تعريف نظام AGI بعض العدادات التي يمكن أن تساعد في تشخيص مشاكل معدّل نقل بيانات ذاكرة الرؤوس.

عدادات Qualcomm Adreno

على الأجهزة التي تتضمّن وحدات معالجة الرسومات Qualcomm Adreno، تشمل بعض العدادات البارزة ما يلي:

عدّاد الوصف
Vertex Memory Read معدّل نقل بيانات الرؤوس التي يتم قراءتها من الذاكرة الخارجية
Average Bytes/Vertex متوسط حجم بيانات الرؤوس بالبايت
% Vertex Fetch Stall النسبة المئوية لدورات الساعة التي يتم فيها حظر وحدة معالجة الرسومات بسبب بيانات الرؤوس

عدادات ARM Mali (قيد التنفيذ)

على الأجهزة التي تتضمّن وحدات معالجة الرسومات ARM Mali، تشمل بعض العدادات البارزة ما يلي:

عدّاد الوصف
Load/store read beats from external memory عدد نبضات البيانات التي تقرأها وحدة التحميل/التخزين من الذاكرة الخارجية، ويتم احتساب متوسطها على مستوى نوى التظليل
Load/store read beats from L2 cache عدد نبضات البيانات التي تقرأها وحدة التحميل/التخزين من ذاكرة التخزين المؤقت من المستوى الثاني، ويتم احتساب متوسطها على مستوى نوى التظليل
[مزيد من المعلومات]

لاحتساب معدّل نقل البيانات الإجمالي من متوسط نبضات القراءة، يتم ضرب قيمة العداد في عرض ناقل البيانات (16 بايت عادةً) وفي إجمالي عدد نوى التظليل. [مزيد من المعلومات]

تحليل العداد

لقياس سلوك هذه العدادات، يمكنك قياس متوسط معدّل نقل البيانات وذروته على مدار لقطة واحدة من وحدة معالجة الرسومات، والتي يمكن تحديدها باستخدام كتلة متجاورة من استخدام وحدة معالجة الرسومات.

معدّل نقل بيانات قراءة ذاكرة Vertex لإطار واحد، بمتوسط قيمة يبلغ 327 ميغابايت في الثانية وقيمة قصوى تبلغ 1.16 غيغابايت في الثانية
الشكل 1: معدّل نقل بيانات ذاكرة قراءة الرؤوس للقطة واحدة، بمتوسط 327 ميغابايت في الثانية وذروة 1.16 غيغابايت في الثانية

ننصح بأن لا يزيد معدّل نقل بيانات ذاكرة قراءة الرؤوس عن 1.5 غيغابايت في الثانية، وأن لا يزيد متوسط معدّل نقل البيانات عن 500 ميغابايت في الثانية. تشير القيم الأعلى إلى إحدى المشاكل الشائعة التالية:

  • حجم الرأس كبير جدًا: قد تتضمّن الرؤوس سمات رؤوس كبيرة أو عددًا كبيرًا من سمات الرؤوس، ما يؤثر في وقت تظليل الرؤوس بشكل كبير.
  • لم يتم تقسيم عمليات نقل سمات الرؤوس: يتم دمج سمات الرؤوس في مخزن مؤقت واحد، ما يقلّل من كفاءة ذاكرة التخزين المؤقت.
  • عدد كبير جدًا من الرؤوس التي يتم إرسالها لكل لقطة: قد تستهلك النماذج المعقّدة و/أو عدد كبير من النماذج معدّل نقل بيانات أكبر وتستغرق وقتًا أطول للتظليل.

يمكن أيضًا تشخيص مشاكل حجم الرأس من خلال مسار متوسط البايتات لكل رأس ، الذي ننصح بأن لا يزيد عن 32 بايت أو رأسًا.

متوسط حجم الرأس لإطار واحد، بمتوسط قيمة يبلغ 31.3 بايت
الشكل 2: متوسط حجم الرأس للقطة واحدة، بمتوسط 31.3 بايت

أفضل طريقة لتشخيص أي من هذه المشاكل التي قد تواجهها هي أخذ تتبُّع لملف تعريف لقطة لـ تحليل تنسيقات الرؤوس.