การใช้งานขั้นสูง

ส่วนต่อไปนี้จะอธิบายหัวข้อการใช้งานขั้นสูงที่ไม่จำเป็นสำหรับการทำงานปกติของไลบรารี

เครื่องมือติดตามอื่นๆ ที่รองรับ

Tuning Fork รองรับเครื่องมือติดตามหลายรายการ ระบบรองรับเครื่องมือติดตามที่มีคีย์เครื่องมือต่อไปนี้

  • เวลาระหว่างการเริ่มต้นเฟรม (เรียกว่า PACED_FRAME_TIME)
  • เวลา CPU: เวลาตั้งแต่เริ่มต้นเฟรมจนถึงสิ้นสุดการทำงานของ CPU สำหรับเฟรม (เรียกว่า CPU_TIME)
  • เวลา GPU: เวลาที่ GPU ใช้จัดการเฟรมก่อนหน้า (เรียกว่า GPU_TIME)
  • เวลาเฟรมดิบ ซึ่งกำหนดเป็นเวลาสูงสุดของเวลา CPU และ GPU (เรียกว่า RAW_FRAME_TIME) ตัวเลือกนี้แตกต่างจาก PACED_FRAME_TIME ตรงที่ตัวเลือกนี้ไม่รวมเวลารอที่ Swappy หรือ VSync รวมไว้

คุณดูคีย์เครื่องดนตรีเหล่านี้ได้ในเอกสารอ้างอิง ระบบจะใช้คีย์บางรายการเหล่านี้โดยอัตโนมัติเมื่อคุณเปิดใช้ไลบรารี Android Frame Pacing แต่หากไม่ได้เปิดใช้ไลบรารีนี้ คุณควรใช้คีย์เหล่านี้อย่างชัดแจ้ง

รับพารามิเตอร์ความแม่นยำ

TFErrorCode TuningFork_getFidelityParameters(const CProtobufSerialization* defaultParams, CProtobufSerialization* params, uint32_t timeout_ms);

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

ฟังก์ชันนี้จะติดต่อเซิร์ฟเวอร์เพื่อดึงพารามิเตอร์ความเที่ยงตรง โดยจะบล็อกจนกว่า จะมีสิ่งต่อไปนี้เกิดขึ้น

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

คุณต้องเรียกใช้ TuningFork_init() ก่อนฟังก์ชันนี้ และต้องเรียกใช้ใน เทรดแยกต่างหากจากเทรดหลัก (ดู TuningFork_startFidelityParamDownloadThread() เพื่อดูฟังก์ชันยูทิลิตีที่ทำสิ่งนี้ให้คุณ) คุณเรียกใช้ฟังก์ชันนี้อีกครั้งได้ เช่น ในเวลาที่โหลดเลเวล เพื่อดึงพารามิเตอร์ความเที่ยงตรงจากเซิร์ฟเวอร์อีกครั้ง ซึ่งช่วยให้คุณอัปเดตพารามิเตอร์แบบไดนามิกได้แทนที่จะต้องโหลดซ้ำเฉพาะตอนเริ่มต้น หากมีการดาวน์โหลดพารามิเตอร์ความเที่ยงตรงใหม่ หรือใช้ค่าเริ่มต้นใหม่ ระบบจะส่งข้อมูลราคาแบบเรียลไทม์ก่อนหน้าทั้งหมด