เรียนรู้เกี่ยวกับข้อมูลประสิทธิภาพการเรนเดอร์หน้าจอ (แอป Apple และ Android)

การตรวจสอบประสิทธิภาพใช้ การติดตาม เพื่อรวบรวมข้อมูลเกี่ยวกับกระบวนการที่ได้รับการตรวจสอบในแอปของคุณ การติดตามคือรายงานที่มีข้อมูลที่บันทึกระหว่างเวลาสองจุดในแอปของคุณ

สำหรับแอป Apple และ Android การตรวจสอบประสิทธิภาพจะวัดประสิทธิภาพการเรนเดอร์ของหน้าจอต่างๆ ในแอปพลิเคชันของคุณ โดยอัตโนมัติ การตรวจสอบประสิทธิภาพจะสร้าง การติดตามการเรนเดอร์หน้าจอ สำหรับทุกหน้าจอในแอปพลิเคชันของคุณ การติดตามเหล่านี้รวบรวมและวัดผลเมตริกต่อไปนี้:

  • เฟรมการเรนเดอร์ช้า — วัดเปอร์เซ็นต์ของอินสแตนซ์หน้าจอที่ใช้เวลาเรนเดอร์นานกว่า 16 มิลลิวินาที

  • เฟรมที่ค้าง — วัดเปอร์เซ็นต์ของอินสแตนซ์หน้าจอที่ใช้เวลาเรนเดอร์นานกว่า 700 มิลลิวินาที

เฟรมที่ช้าหรือค้างในแอปพลิเคชันของคุณอาจส่งผลให้ประสิทธิภาพของอุปกรณ์ลดลง หรือที่เรียกว่า jank หรือ lag การบันทึกตัววัดเฟรมที่ค้างและแสดงผลช้าสามารถช่วยให้คุณระบุหน้าจอที่มีประสิทธิภาพต่ำได้ ทำให้คุณสามารถปรับปรุงประสิทธิภาพการเรนเดอร์แอปพลิเคชันของคุณได้

คุณสามารถดูข้อมูลสำหรับการติดตามการเรนเดอร์หน้าจอได้ในแท็บ การเรนเดอร์หน้าจอ ของตารางการติดตาม ตารางการติดตามจะอยู่ที่ด้านล่างของหน้า ประสิทธิภาพ ของ คอนโซล Firebase สำหรับข้อมูลเพิ่มเติม โปรดดู ติดตาม ดู และกรองข้อมูลประสิทธิภาพ

ตัวชี้วัดที่รวบรวมโดยการติดตามการแสดงผลหน้าจอ

การติดตามเหล่านี้เป็นการติดตามแบบสำเร็จรูป ดังนั้นคุณจึงไม่สามารถเพิ่มเมตริกที่กำหนดเองหรือแอตทริบิวต์ที่กำหนดเองลงไปได้

เฟรมการเรนเดอร์ช้าและเฟรมค้างคำนวณด้วยอัตราการรีเฟรชอุปกรณ์ที่สมมติไว้ที่ 60Hz หากอัตราการรีเฟรชของอุปกรณ์ต่ำกว่า 60Hz แต่ละเฟรมจะมีเวลาในการเรนเดอร์ช้าลงเนื่องจากมีการเรนเดอร์เฟรมต่อวินาทีน้อยลง เวลาในการเรนเดอร์ช้าลงอาจทำให้เฟรมช้าลงหรือค้างมากขึ้น เนื่องจากเฟรมจำนวนมากจะเรนเดอร์ช้าลงหรือค้าง อย่างไรก็ตาม หากอัตราการรีเฟรชของอุปกรณ์สูงกว่า 60Hz แต่ละเฟรมจะมีเวลาในการเรนเดอร์ที่เร็วขึ้น ซึ่งอาจส่งผลให้มีการรายงานเฟรมที่ช้าหรือค้างน้อยลง นี่เป็นข้อจำกัดปัจจุบันใน Performance Monitoring SDK

เฟรมการเรนเดอร์ช้า

ตัวชี้วัดนี้คือเปอร์เซ็นต์ของเซสชันผู้ใช้ที่พบกับการแสดงผลช้าอย่างเห็นได้ชัดสำหรับหน้าจอใดหน้าจอหนึ่ง โดยเฉพาะอย่างยิ่ง ตัวชี้วัดนี้คือเปอร์เซ็นต์ของอินสแตนซ์หน้าจอในระหว่างที่เฟรมมากกว่า 50% ใช้เวลาแสดงผลนานกว่า 16 มิลลิวินาที

เฟรมแช่แข็ง

เมตริกนี้คือเปอร์เซ็นต์ของเซสชันผู้ใช้ที่ประสบปัญหาเฟรมค้างในจำนวนที่เห็นได้ชัดเจนสำหรับหน้าจอใดหน้าจอหนึ่ง โดยเฉพาะอย่างยิ่ง ตัวชี้วัดนี้คือเปอร์เซ็นต์ของอินสแตนซ์หน้าจอที่เฟรมมากกว่า 0.1% ใช้เวลาแสดงผลนานกว่า 700 มิลลิวินาที

การติดตามการเรนเดอร์หน้าจอถูกสร้างขึ้นอย่างไร

การติดตามการแสดงผลหน้าจอแต่ละรายการจะถูกระบุด้วยชื่อขององค์ประกอบมุมมองในแอปพลิเคชันของคุณ ไคลเอนต์การตรวจสอบประสิทธิภาพจะสร้างการติดตามการเรนเดอร์หน้าจอสำหรับทุก กิจกรรม หรือ แฟรกเมนต์ ที่แอปพลิเคชันของคุณใช้

การติดตามการแสดงผลหน้าจอแต่ละรายการจะดำเนินการต่อไปนี้:

  • เริ่มต้นสำหรับทุกกิจกรรมและคลาสแฟรกเมนต์เมื่อวัตถุปรากฏบนหน้าจอ OnActivityStarted() สำหรับกิจกรรมและ OnFragmentResume() สำหรับแฟรกเมนต์

  • หยุดสำหรับทุกกิจกรรมและคลาสแฟรกเมนต์เมื่อวัตถุไม่สามารถมองเห็นได้บนหน้าจอ OnActivityStopped() สำหรับกิจกรรมและ OnFragmentPaused() สำหรับแฟรกเมนต์

ติดตาม ดู และกรองข้อมูลประสิทธิภาพ

หากต้องการดูข้อมูลประสิทธิภาพแบบเรียลไทม์ ตรวจสอบให้แน่ใจว่าแอปของคุณใช้เวอร์ชัน SDK การตรวจสอบประสิทธิภาพที่เข้ากันได้กับการประมวลผลข้อมูลแบบเรียลไทม์ เรียนรู้เพิ่มเติมเกี่ยวกับข้อมูลประสิทธิภาพแบบเรียลไทม์

ติดตามตัวชี้วัดหลักในแดชบอร์ดของคุณ

หากต้องการเรียนรู้ว่าตัวชี้วัดหลักของคุณมีแนวโน้มอย่างไร ให้เพิ่มลงในกระดานตัวชี้วัดที่ด้านบนของแดชบอร์ด ประสิทธิภาพ คุณสามารถระบุการถดถอยได้อย่างรวดเร็วโดยดูการเปลี่ยนแปลงแบบสัปดาห์ต่อสัปดาห์ หรือตรวจสอบว่าการเปลี่ยนแปลงล่าสุดในโค้ดของคุณกำลังปรับปรุงประสิทธิภาพ

รูปภาพของบอร์ดเมตริกในแดชบอร์ดการตรวจสอบประสิทธิภาพ Firebase

หากต้องการเพิ่มตัววัดลงในบอร์ดตัววัดของคุณ ให้ทำตามขั้นตอนเหล่านี้:

  1. ไปที่ แดชบอร์ด ประสิทธิภาพ ในคอนโซล Firebase
  2. คลิกการ์ดตัววัดว่าง จากนั้นเลือกตัววัดที่มีอยู่เพื่อเพิ่มลงในบอร์ดของคุณ
  3. คลิก บนการ์ดเมตริกที่มีข้อมูลเพื่อดูตัวเลือกเพิ่มเติม เช่น แทนที่หรือลบเมตริก

บอร์ดหน่วยเมตริกจะแสดงข้อมูลหน่วยเมตริกที่รวบรวมไว้ในช่วงเวลาต่างๆ ทั้งในรูปแบบกราฟิกและการเปลี่ยนแปลงเปอร์เซ็นต์เป็นตัวเลข

เรียนรู้เพิ่มเติมเกี่ยวกับ การใช้แดชบอร์ด

ดูประสิทธิภาพของหน้าจอบนคอนโซล

หากต้องการดูการติดตามของคุณ ให้ไปที่ แดชบอร์ด ประสิทธิภาพ ในคอนโซล Firebase เลื่อนลงไปที่ตารางการติดตาม จากนั้นคลิกแท็บย่อยที่เหมาะสม ตารางจะแสดงตัวชี้วัดยอดนิยมสำหรับแต่ละการติดตาม และคุณยังสามารถจัดเรียงรายการตามเปอร์เซ็นต์การเปลี่ยนแปลงสำหรับตัวชี้วัดเฉพาะได้อีกด้วย

การตรวจสอบประสิทธิภาพมีหน้าการแก้ปัญหาในคอนโซล Firebase ที่เน้นการเปลี่ยนแปลงเมตริก ทำให้ง่ายต่อการแก้ไขและลดผลกระทบของปัญหาด้านประสิทธิภาพต่อแอปและผู้ใช้ของคุณ คุณสามารถใช้หน้าการแก้ไขปัญหาเมื่อคุณเรียนรู้เกี่ยวกับปัญหาประสิทธิภาพการทำงานที่อาจเกิดขึ้น ตัวอย่างเช่น ในสถานการณ์ต่อไปนี้:

  • คุณเลือกเมตริกที่เกี่ยวข้องบนแดชบอร์ดและสังเกตเห็นการเปลี่ยนแปลงครั้งใหญ่
  • ในตารางการติดตาม คุณจะจัดเรียงเพื่อแสดงส่วนต่างที่ใหญ่ที่สุดที่ด้านบน และคุณจะเห็นเปอร์เซ็นต์การเปลี่ยนแปลงที่มีนัยสำคัญ
  • คุณได้รับอีเมลแจ้งเตือนเกี่ยวกับปัญหาด้านประสิทธิภาพ

คุณสามารถเข้าถึงหน้าการแก้ไขปัญหาได้ด้วยวิธีต่อไปนี้:

  • บนแดชบอร์ดเมตริก ให้คลิกปุ่ม ดูรายละเอียดเมตริก
  • บนการ์ดเมตริกใดๆ ให้เลือก => ดูรายละเอียด หน้าการแก้ปัญหาจะแสดงข้อมูลเกี่ยวกับเมตริกที่คุณเลือก
  • ในตารางการติดตาม คลิกชื่อการติดตามหรือค่าเมตริกใดๆ ในแถวที่เกี่ยวข้องกับการติดตามนั้น
  • ในการแจ้งเตือนทางอีเมล คลิก ตรวจสอบทันที

เมื่อคุณคลิกชื่อการติดตามในตารางการติดตาม คุณสามารถเจาะลึกลงในเมทริกที่สนใจได้ คลิก ปุ่ม ตัวกรอง เพื่อกรองข้อมูลตามแอตทริบิวต์ เช่น

รูปภาพของข้อมูลการตรวจสอบประสิทธิภาพ Firebase ที่ถูกกรองตามแอตทริบิวต์
  • กรองตาม เวอร์ชันของแอป เพื่อดูข้อมูลเกี่ยวกับรุ่นที่ผ่านมาหรือรุ่นล่าสุดของคุณ
  • กรองตาม อุปกรณ์ เพื่อเรียนรู้ว่าอุปกรณ์รุ่นเก่าจัดการกับแอปของคุณอย่างไร
  • กรองตาม ประเทศ เพื่อให้แน่ใจว่าตำแหน่งฐานข้อมูลของคุณไม่ส่งผลกระทบต่อภูมิภาคใดภูมิภาคหนึ่ง

เรียนรู้เพิ่มเติมเกี่ยวกับ การดูข้อมูลการติดตามของคุณ

คุณสมบัติแฟรกเมนต์

บนแอปพลิเคชัน Android คุณสามารถนำแฟรกเมนต์กลับมาใช้ซ้ำกับกิจกรรมหรือแฟรกเมนต์อื่นได้ ประสิทธิภาพของแฟรกเมนต์อาจแตกต่างกันไปขึ้นอยู่กับแฟรกเมนต์หรือกิจกรรมที่แฟรกเมนต์กำลังแสดงผล ใช้แอตทริบิวต์ต่อไปนี้เพื่อเรียนรู้ข้อมูลโดยละเอียดเกี่ยวกับวิธีการทำงานของแฟรกเมนต์ภายในแฟรกเมนต์หลัก โดยขึ้นอยู่กับกิจกรรมหรือแฟรกเมนต์ที่แฟรกเมนต์เชื่อมโยงกัน กับ:

รูปภาพของแดชบอร์ดการตรวจสอบประสิทธิภาพเมตริกส่วน
  • Hosting_activity — กิจกรรมที่โฮสต์ส่วนย่อย ช่วยให้คุณเข้าใจประสิทธิภาพของแฟรกเมนต์ภายในกิจกรรมการโฮสต์
  • Parent_fragment — ส่วนหลักของส่วนที่คุณกำลังตรวจสอบ ช่วยให้คุณเข้าใจประสิทธิภาพของแฟรกเมนต์ภายในแฟรกเมนต์พาเรนต์ หากไม่มีแฟรกเมนต์พาเรนต์ แอ็ตทริบิวต์จะถูกตั้งค่าเป็น No Parent

ขั้นตอนถัดไป