แบนด์วิดท์หน่วยความจำของข้อมูลเวอร์เท็กซ์อาจเป็นคอขวดที่อาจเกิดขึ้นสำหรับประสิทธิภาพของ GPU ในเกม โปรไฟล์ระบบ AGI มีตัวนับบางรายการที่ช่วยวินิจฉัยปัญหาแบนด์วิดท์หน่วยความจำเวอร์เท็กซ์ได้
ตัวนับ Qualcomm Adreno
ในอุปกรณ์ที่มี GPU ของ Qualcomm Adreno ตัวนับที่น่าสนใจบางรายการ ได้แก่
| ตัวนับ | คำอธิบาย |
|---|---|
| การอ่านหน่วยความจำเวอร์เท็กซ์ | แบนด์วิดท์ของข้อมูลเวอร์เท็กซ์ที่อ่านจากหน่วยความจำภายนอก |
| ไบต์/เวอร์เท็กซ์โดยเฉลี่ย | ขนาดข้อมูลเวอร์เท็กซ์โดยเฉลี่ยในหน่วยไบต์ |
| % การดึงข้อมูลเวอร์เท็กซ์หยุดชะงัก | เปอร์เซ็นต์ของรอบสัญญาณนาฬิกาที่ GPU ถูกบล็อกในข้อมูลเวอร์เท็กซ์ |
ตัวนับ ARM Mali (อยู่ระหว่างดำเนินการ)
ในอุปกรณ์ที่มี GPU ของ ARM Mali ตัวนับที่น่าสนใจบางรายการ ได้แก่
| ตัวนับ | คำอธิบาย |
|---|---|
| การอ่าน/เขียนข้อมูลจากหน่วยความจำภายนอก | ข้อมูลที่อ่านจากหน่วยความจำภายนอกโดยหน่วยการอ่าน/เขียนข้อมูล โดยเฉลี่ยในคอร์ของ Shader |
| การอ่าน/เขียนข้อมูลจากแคช L2 | ข้อมูลที่อ่านจากแคช L2 โดยหน่วยการอ่าน/เขียนข้อมูล โดยเฉลี่ยในคอร์ของ Shader |
| [เพิ่มเติม] |
หากต้องการคำนวณแบนด์วิดท์โดยรวมจากการอ่านข้อมูลโดยเฉลี่ย ให้คูณค่าตัวนับด้วยความกว้างของบัส (โดยปกติคือ 16 ไบต์) และจำนวนคอร์ของ Shader ทั้งหมด [เพิ่มเติม]
การวิเคราะห์ตัวนับ
หากต้องการวัดลักษณะการทำงานของตัวนับเหล่านี้ คุณสามารถวัดแบนด์วิดท์เฉลี่ยและแบนด์วิดท์สูงสุดในเฟรม GPU เดียว ซึ่งสามารถระบุได้ด้วยบล็อกที่ต่อเนื่องของการใช้ GPU
เราขอแนะนำแบนด์วิดท์การอ่านหน่วยความจำเวอร์เท็กซ์สูงสุดไม่เกิน 1.5 GBps และแบนด์วิดท์เฉลี่ยไม่เกิน 500 MBps ค่าที่สูงขึ้นบ่งบอกถึงปัญหาทั่วไปอย่างใดอย่างหนึ่งต่อไปนี้
- ขนาดเวอร์เท็กซ์ใหญ่เกินไป: เวอร์เท็กซ์อาจมีแอตทริบิวต์เวอร์เท็กซ์ขนาดใหญ่หรือมีแอตทริบิวต์เวอร์เท็กซ์จำนวนมาก ซึ่งส่งผลต่อเวลาในการแรเงาเวอร์เท็กซ์โดยรวม
- ไม่ได้แยกสตรีมแอตทริบิวต์เวอร์เท็กซ์: แอตทริบิวต์เวอร์เท็กซ์ถูกสอดแทรกไว้ในบัฟเฟอร์เดียว ซึ่งลดประสิทธิภาพของแคช
- ส่งเวอร์เท็กซ์มากเกินไปต่อเฟรม: โมเดลที่ซับซ้อนและ/หรือโมเดลจำนวนมากอาจใช้แบนด์วิดท์มากขึ้นและใช้เวลาในการแรเงานานขึ้น
นอกจากนี้ คุณยังวินิจฉัยปัญหาเกี่ยวกับขนาดเวอร์เท็กซ์ได้ผ่านแทร็กไบต์ / เวอร์เท็กซ์โดยเฉลี่ย ซึ่งเราขอแนะนำว่าไม่ควรสูงกว่า 32 ไบต์หรือเวอร์เท็กซ์
วิธีที่ดีที่สุดในการวินิจฉัยปัญหาเหล่านี้คือการใช้การติดตามโปรไฟล์เฟรมเพื่อ วิเคราะห์รูปแบบเวอร์เท็กซ์