संग्रह की मदद से व्यवस्थित रहें
अपनी प्राथमिकताओं के आधार पर, कॉन्टेंट को सेव करें और कैटगरी में बांटें.
यहां दिए गए सेक्शन में, लाइब्रेरी के ऐडवांस इस्तेमाल के बारे में बताया गया है. हालांकि, लाइब्रेरी के सामान्य ऑपरेशन के लिए इनकी ज़रूरत नहीं होती.
अन्य ट्रेसर जिनका इस्तेमाल किया जा सकता है
Tuning Fork में एक से ज़्यादा ट्रेसर इस्तेमाल किए जा सकते हैं. इन इंस्ट्रुमेंट की के साथ काम करने वाले ट्रेसर इस्तेमाल किए जा सकते हैं:
फ़्रेम शुरू होने के बीच का समय (इसे PACED_FRAME_TIME कहा जाता है)
सीपीयू टाइम: फ़्रेम के शुरू होने और सीपीयू के काम के खत्म होने के बीच का समय. इसे CPU_TIME कहा जाता है
जीपीयू का समय: पिछले फ़्रेम को जीपीयू से प्रोसेस होने में लगा समय (इसे GPU_TIME कहा जाता है)
रॉ फ़्रेम टाइम, जिसे सीपीयू और जीपीयू के ज़्यादा से ज़्यादा समय (इसे RAW_FRAME_TIME कहा जाता है) के तौर पर तय किया जाता है. इस विकल्प और PACED_FRAME_TIME के बीच का अंतर यह है कि इस विकल्प में, Swappy या VSync की वजह से लगने वाला कोई भी इंतज़ार का समय शामिल नहीं होता है.
आपको ये इंस्ट्रूमेंट कुंजियां, रेफ़रंस दस्तावेज़ में मिल सकती हैं.
Android Frame Pacing लाइब्रेरी चालू करने पर, इनमें से कुछ कुंजियों का इस्तेमाल अपने-आप होता है. हालांकि, अगर आपने इस लाइब्रेरी को चालू नहीं किया है, तो आपको इनका इस्तेमाल साफ़ तौर पर करना चाहिए.
अगर आपने सेटिंग में fidelity_params_callback को TuningFork_init पर पास किया है या लाइब्रेरी को स्केल किए गए मोड में रखा है, तो आपको इस फ़ंक्शन को कॉल करने की ज़रूरत नहीं है.
यह फ़ंक्शन, फ़िडेलिटी पैरामीटर पाने के लिए सर्वर से संपर्क करता है. यह तब तक ब्लॉक रहता है, जब तक इनमें से कोई एक काम नहीं हो जाता:
फ़िडेलिटी पैरामीटर वापस पाए जाते हैं. इनकी रिटर्न वैल्यू TFERROR_OK होती है. साथ ही, ये पैरामीटर returnedParams में सेव होते हैं. इस मामले में, इसके बाद का सारा टिक डेटा returnedParams से जुड़ा होता है.
timeout_ms मिलीसेकंड बीत जाने पर, TFERROR_TIMEOUT वैल्यू मिलती है. इस मामले में, इसके बाद का सारा टिक डेटा defaultFidelityParams से जुड़ा होता है.
इस फ़ंक्शन से पहले, आपको TuningFork_init() को कॉल करना होगा. साथ ही, आपको इसे मुख्य थ्रेड से अलग थ्रेड पर कॉल करना होगा. इसके लिए, TuningFork_startFidelityParamDownloadThread() देखें. इसमें एक यूटिलिटी फ़ंक्शन दिया गया है, जो आपके लिए यह काम करता है. इस फ़ंक्शन को फिर से कॉल किया जा सकता है. उदाहरण के लिए, लेवल लोड होने के समय, सर्वर से फ़िडेलिटी पैरामीटर फिर से पाने के लिए. इससे, आपको पैरामीटर को डाइनैमिक तौर पर अपडेट करने की अनुमति मिलती है. इसके लिए, आपको सिर्फ़ स्टार्टअप के समय उन्हें फिर से लोड करने की ज़रूरत नहीं होती. अगर नए फ़िडेलिटी पैरामीटर डाउनलोड किए जाते हैं या नए डिफ़ॉल्ट का इस्तेमाल किया जाता है, तो टिक किए गए पिछले सभी डेटा को सबमिट किया जाता है.
इस पेज पर मौजूद कॉन्टेंट और कोड सैंपल कॉन्टेंट के लाइसेंस में बताए गए लाइसेंस के हिसाब से हैं. Java और OpenJDK, Oracle और/या इससे जुड़ी हुई कंपनियों के ट्रेडमार्क या रजिस्टर किए हुए ट्रेडमार्क हैं.
आखिरी बार 2025-08-26 (UTC) को अपडेट किया गया.
[[["समझने में आसान है","easyToUnderstand","thumb-up"],["मेरी समस्या हल हो गई","solvedMyProblem","thumb-up"],["अन्य","otherUp","thumb-up"]],[["वह जानकारी मौजूद नहीं है जो मुझे चाहिए","missingTheInformationINeed","thumb-down"],["बहुत मुश्किल है / बहुत सारे चरण हैं","tooComplicatedTooManySteps","thumb-down"],["पुराना","outOfDate","thumb-down"],["अनुवाद से जुड़ी समस्या","translationIssue","thumb-down"],["सैंपल / कोड से जुड़ी समस्या","samplesCodeIssue","thumb-down"],["अन्य","otherDown","thumb-down"]],["आखिरी बार 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."]]