Sử dụng bộ sưu tập để sắp xếp ngăn nắp các trang
Lưu và phân loại nội dung dựa trên lựa chọn ưu tiên của bạn.
Các phần sau đây trình bày các chủ đề sử dụng nâng cao không cần thiết để thư viện hoạt động bình thường.
Các trình theo dõi được hỗ trợ khác
Tuning Fork hỗ trợ nhiều trình theo dõi (tracer). Tuning Fork hỗ trợ những trình theo dõi có các khoá xác định xuất phát điểm (instrument key) sau đây:
Thời gian giữa các khung hình (gọi là PACED_FRAME_TIME)
Thời gian của CPU: Thời gian từ khi bắt đầu một khung hình cho đến khi CPU kết thúc hoạt động cho khung hình (gọi là CPU_TIME)
Thời gian GPU: Thời gian để GPU xử lý khung hình trước đó (gọi là GPU_TIME)
Thời gian kết xuất khung hình thô, được xác định là thời gian tối đa của CPU và GPU (gọi là RAW_FRAME_TIME). Sự khác biệt giữa tuỳ chọn này và PACED_FRAME_TIME là tuỳ chọn này không bao gồm thời gian chờ nào có trong Swappy hoặc VSync.
Bạn có thể đọc thông tin về các khoá xác định xuất phát điểm này trong tài liệu tham khảo.
Một số khoá trong số này được sử dụng tự động khi bạn bật thư viện
Tốc độ khung hình Android (Android Frame Pacing), nhưng nếu không bật thư viện này thì bạn phải thể hiện rõ việc sử dụng.
Nếu bạn truyền fidelity_params_callback đến TuningFork_init trong phần cài đặt hoặc thư viện đang ở chế độ điều chỉnh theo tỷ lệ, thì bạn không cần gọi hàm này.
Hàm này liên hệ với một máy chủ để truy xuất thông số về độ chân thực. Hoạt động này bị chặn cho đến khi một trong các trường hợp sau đây xảy ra:
Các thông số về độ chân thực được truy xuất, với giá trị trả về là TFERROR_OK và returnedParams lưu trữ các thông số này. Trong trường hợp này, tất cả dữ liệu kim đánh dấu nhịp độ khung hình theo sau sẽ được liên kết với returnedParams.
Số mili giây bằng với timeout_ms truyền quá và có giá trị trả về là TFERROR_TIMEOUT. Trong trường hợp này, tất cả dữ liệu kim đánh dấu nhịp độ khung hình theo sau sẽ được liên kết với defaultFidelityParams.
Bạn phải gọi TuningFork_init() trước hàm này và bạn phải gọi trên một chuỗi riêng biệt với chuỗi chính (xem TuningFork_startFidelityParamDownloadThread() để nắm được hàm hiệu dụng thực hiện việc này cho bạn). Bạn có thể gọi lại hàm này (chẳng hạn như tại thời điểm tải khi chuyển cấp) để truy xuất lại các thông số về độ chân thực từ máy chủ. Việc này cho phép bạn tự động cập nhật thông số thay vì phải tải lại các thông số đó chỉ khi khởi động. Nếu bạn tải thông số về độ chân thực mới xuống hoặc sử dụng giá trị mặc định mới, thì tất cả dữ liệu kim đánh dấu nhịp độ khung hình trước đó sẽ được gửi.
Nội dung và mã mẫu trên trang này phải tuân thủ các giấy phép như mô tả trong phần Giấy phép nội dung. Java và OpenJDK là nhãn hiệu hoặc nhãn hiệu đã đăng ký của Oracle và/hoặc đơn vị liên kết của Oracle.
Cập nhật lần gần đây nhất: 2025-08-26 UTC.
[[["Dễ hiểu","easyToUnderstand","thumb-up"],["Giúp tôi giải quyết được vấn đề","solvedMyProblem","thumb-up"],["Khác","otherUp","thumb-up"]],[["Thiếu thông tin tôi cần","missingTheInformationINeed","thumb-down"],["Quá phức tạp/quá nhiều bước","tooComplicatedTooManySteps","thumb-down"],["Đã lỗi thời","outOfDate","thumb-down"],["Vấn đề về bản dịch","translationIssue","thumb-down"],["Vấn đề về mẫu/mã","samplesCodeIssue","thumb-down"],["Khác","otherDown","thumb-down"]],["Cập nhật lần gần đây nhất: 2025-08-26 UTC."],[],[],null,["The following sections outline advanced usage topics not needed for normal\noperation of the library.\n\nOther supported tracers\n\nTuning Fork supports multiple tracers. Tracers with the following instrument\nkeys are supported:\n\n- Time between frame starts (called `PACED_FRAME_TIME`)\n- CPU Time: Time between the start of the frame and the end of the CPU work for the frame (called `CPU_TIME`)\n- GPU Time: Time for the previous frame to be handled by the GPU (called `GPU_TIME`)\n- The raw frame time, defined as the maximum of the CPU and GPU time (called `RAW_FRAME_TIME`). The difference between this option and `PACED_FRAME_TIME` is that this option does not include any wait time included by Swappy or VSync.\n\nYou can find these instrument keys in the\n[reference documentation](/games/sdk/reference/performance-tuner/custom-engine).\nSome of these keys are used automatically when you enable the Android Frame\nPacing library, but if you are not enabling this library, you should use them\nexplicitly.\n\nGet fidelity parameters\n\n[`TFErrorCode TuningFork_getFidelityParameters(const CProtobufSerialization*\ndefaultParams, CProtobufSerialization* params, uint32_t\ntimeout_ms);`](/games/sdk/reference/performance-tuner/custom-engine/group/tuningfork#tuningfork_getfidelityparameters)\n\nIf you pass `fidelity_params_callback` to `TuningFork_init` in settings or the\nlibrary is in scaled mode, you do not need to call this function.\n\nThis function contacts a server to retrieve fidelity parameters. It blocks until\none of the following occurs:\n\n- Fidelity parameters are retrieved, with a return value of `TFERROR_OK` and `returnedParams` store the parameters. In this case, all subsequent tick data is associated with `returnedParams`.\n- A number of milliseconds equal to `timeout_ms` passes, with a return value of `TFERROR_TIMEOUT`. In this case, all subsequent tick data is associated with `defaultFidelityParams`.\n\nYou must call `TuningFork_init()` before this function, and you must call it on\na separate thread from the main thread (see\n[`TuningFork_startFidelityParamDownloadThread()`](/games/sdk/reference/performance-tuner/custom-engine/group/tuningfork-extra#tuningfork_startfidelityparamdownloadthread)\nfor a utility function that does this for you). You can call this function\nagain, for example at level-loading time, to retrieve fidelity parameters from\nthe server again. This allows you to dynamically update parameters rather than\nhaving to reload them only at start-up. If new fidelity parameters are\ndownloaded or a new default is used, all previous tick data is submitted."]]