تجزیه و تحلیل استفاده از پهنای باند حافظه راس، تجزیه و تحلیل استفاده از پهنای باند حافظه راس، تجزیه و تحلیل استفاده از پهنای باند حافظه راس، تجزیه و تحلیل استفاده از پهنای باند حافظه راس

پهنای باند حافظه داده‌های رأس می‌تواند یک گلوگاه بالقوه برای عملکرد GPU بازی شما باشد. در یک پروفایل سیستم AGI تعدادی شمارنده وجود دارد که می‌توانند به تشخیص مشکلات پهنای باند حافظه رأس کمک کنند.

شمارنده‌های کوالکام آدرنو

در دستگاه‌هایی با پردازنده‌های گرافیکی Qualcomm Adreno، برخی از شمارنده‌های قابل توجه عبارتند از:

شمارنده توضیحات
خواندن حافظه ورتکس پهنای باند داده‌های رأس خوانده شده از حافظه خارجی.
میانگین بایت/راس میانگین اندازه داده‌های رأس، بر حسب بایت.
% ورتکس فچ استال درصد سیکل‌های کلاک که در آن GPU روی داده‌های رأس مسدود شده است.

شمارنده‌های ARM Mali (WIP)

در دستگاه‌هایی با پردازنده‌های گرافیکی ARM Mali، برخی از شمارنده‌های قابل توجه عبارتند از:

شمارنده توضیحات
بارگذاری/ذخیره بیت‌های خوانده شده از حافظه خارجی داده‌های خوانده شده از حافظه خارجی توسط واحد بارگذاری/ذخیره، که به طور میانگین روی هسته‌های سایه‌زن محاسبه می‌شوند، سریع‌تر از داده‌های خوانده شده عمل می‌کنند.
بارگذاری/ذخیره ضربان‌های خوانده شده از حافظه نهان سطح ۲ داده‌های خوانده شده از حافظه نهان سطح ۲ توسط واحد بارگذاری/ذخیره، که به طور میانگین روی هسته‌های سایه‌زن محاسبه می‌شوند، ضرب می‌شوند.
[بیشتر]

برای محاسبه پهنای باند کلی از میانگین ضربان‌های خواندن، مقدار شمارنده در پهنای گذرگاه (معمولاً ۱۶ بایت) و در تعداد کل هسته‌های سایه‌زن ضرب می‌شود. [بیشتر]

تحلیل شمارنده

برای اندازه‌گیری رفتار این شمارنده‌ها، می‌توانید میانگین و اوج پهنای باند را در طول یک فریم GPU اندازه‌گیری کنید، که می‌تواند با یک بلوک پیوسته از GPU Utilization مشخص شود.

پهنای باند خواندن حافظه ورتکس برای یک فریم واحد، با مقدار میانگین ۳۲۷ مگابایت بر ثانیه و مقدار اوج ۱.۱۶ گیگابایت بر ثانیه
شکل ۱: پهنای باند خواندن حافظه ورتکس برای یک فریم واحد، با مقدار میانگین ۳۲۷ مگابایت بر ثانیه و مقدار اوج ۱.۱۶ گیگابایت بر ثانیه

ما توصیه می‌کنیم حداکثر پهنای باند خواندن حافظه رأس از ۱.۵ گیگابایت بر ثانیه و میانگین پهنای باند از ۵۰۰ مگابایت بر ثانیه بیشتر نباشد. مقادیر بالاتر نشان‌دهنده یکی از چند مشکل رایج هستند:

  • اندازه رأس خیلی بزرگ است : رأس‌ها ممکن است ویژگی‌های رأس بزرگ یا تعداد زیادی ویژگی رأس داشته باشند که در کل بر زمان سایه‌زنی رأس تأثیر می‌گذارد.
  • جریان‌های ویژگی رأس تقسیم نمی‌شوند : ویژگی‌های رأس در یک بافر واحد قرار می‌گیرند و باعث کاهش کارایی حافظه پنهان می‌شوند.
  • تعداد زیاد رأس‌های ارسالی در هر فریم : مدل‌های پیچیده و/یا تعداد زیاد مدل‌ها ممکن است پهنای باند بیشتری را اشغال کنند و سایه‌زنی آنها زمان بیشتری طول بکشد.

مشکلات اندازه رأس (Vertex) را می‌توان از طریق مسیر Average Bytes / Vertex نیز تشخیص داد، که توصیه می‌کنیم بیشتر از ۳۲ بایت یا رأس نباشد.

میانگین اندازه رأس برای یک فریم واحد، با مقدار میانگین ۳۱.۳ بایت
شکل ۲: میانگین اندازه رأس برای یک فریم واحد، با مقدار میانگین ۳۱.۳ بایت

بهترین راه برای تشخیص اینکه با کدام یک از این مشکلات مواجه هستید، گرفتن یک مسیر پروفیل فریم برای تجزیه و تحلیل قالب‌های رأس است.