Unity มีเครื่องมือและ API ต่างๆ ที่เกี่ยวข้องกับประสิทธิภาพ ใช้เครื่องมือเหล่านี้เพื่อ วัดและตรวจสอบเมตริกประสิทธิภาพ ระบุอัตราการรีเฟรชจอแสดงผล และ วิเคราะห์วิธีเรนเดอร์ฉากทีละเฟรม
วัดและตรวจสอบเมตริกประสิทธิภาพ
แพ็กเกจ Unity OpenXR: Android XR ให้ข้อมูลประสิทธิภาพที่ครอบคลุม ซึ่งคุณสามารถใช้เพื่อตรวจสอบและเพิ่มประสิทธิภาพแอปได้
คุณเข้าถึงเมตริกเหล่านี้ได้ผ่าน Performance Metrics API
ประโยชน์
- การตรวจสอบการใช้งานหน่วยความจำ ประสิทธิภาพ CPU และ GPU แบบเรียลไทม์
- สถิติของระบบจากเลเยอร์ Compositor และเลเยอร์รันไทม์
- วัดผลกระทบของการเปลี่ยนแปลงการเพิ่มประสิทธิภาพ
หากต้องการให้ได้ผลลัพธ์ที่ดีที่สุด ให้ตรวจสอบเมตริกเหล่านี้อย่างสม่ำเสมอขณะทำงานกับแอปและปรับประสิทธิภาพ
AndroidXRPerformanceMetrics androidXRPerformanceMetrics = OpenXRSettings.Instance.GetFeature<AndroidXRPerformanceMetrics>();
string values = "";
if (m_Display != null && androidXRPerformanceMetrics != null && androidXRPerformanceMetrics.supportedMetricPaths != null)
foreach (var metric in androidXRPerformanceMetrics.supportedMetricPaths)
{
float stat;
XRStats.TryGetStat(m_Display, metric, out stat);
values += string.Format("{0}: {1:F2}\n", metric, stat);
}
ระบุอัตราการรีเฟรชจอแสดงผล
อัตราการรีเฟรชจอแสดงผลช่วยให้แอปขออัตราเฟรมที่สูงขึ้นหรือต่ำลง จากรันไทม์ได้ ซึ่งระบบจะพยายามทำตามคำขอ
ประโยชน์
- ปรับอัตราการรีเฟรชตามความซับซ้อนของฉาก
- เพิ่มประสิทธิภาพการใช้พลังงานในฉากที่สว่างกว่า
- ปรับตามความต้องการของแอปแบบไดนามิก
เปิดใช้ฟีเจอร์นี้
ใช้ Unity API เพื่อเข้าถึงส่วนขยาย XR_FB_display_refresh_rate
คุณขออัตราเฟรม เช่น 72 FPS, 90 FPS หรือ 120 FPS ได้ จากนั้นระบบ จะเปลี่ยนไปใช้อัตราที่คุณขอ หากฮาร์ดแวร์รองรับและสภาวะ ความร้อนอนุญาต
เปิดใช้ Frame Debugger ของ Unity
เครื่องมือแก้ไขข้อบกพร่องของเฟรมเป็นเครื่องมือในตัวของ Unity สำหรับวิเคราะห์วิธี การแสดงผลฉากทีละเฟรม เครื่องมือนี้จะแสดงลำดับการเรียก draw และให้คุณดูทีละรายการเพื่อทำความเข้าใจลักษณะการทำงานของการแสดงผล
ประโยชน์
- ระบุคอขวดในการแสดงผลและการเรียกใช้การวาดที่ไม่คาดคิด
- ตรวจสอบว่า SRP Batcher ทำงานได้อย่างถูกต้อง (มองหารายการ "RenderLoopNewBatcher")
- ตรวจสอบการจัดกลุ่มการเรียกใช้ GPU Resident Drawer (มองหารายการ "Hybrid Batch Group" )
- ทำความเข้าใจลำดับของการดำเนินการแสดงผล
เปิดใช้ฟีเจอร์นี้
- จากเมนูหลักของ Unity ให้คลิก Window > Analysis > Frame Debugger
- คลิกเปิดใช้เพื่อเริ่มบันทึกข้อมูลเฟรม
- ดูการเรียกใช้การวาดเพื่อดูว่ามีการแสดงผลอะไรและเมื่อใด