İleri düzey kullanım

Aşağıdaki bölümlerde, kitaplığın normal şekilde çalışması için gerekli olmayan ileri düzey kullanım konuları özetlenmektedir.

Desteklenen diğer izleyiciler

Tuning Fork birden fazla izleyiciyi destekler. Aşağıdaki araç anahtarlarına sahip izleyiciler desteklenir:

  • Kare başlangıçları arasındaki süre (PACED_FRAME_TIME olarak adlandırılır)
  • CPU Süresi: Karenin başlangıcı ile kare için CPU çalışmasının sonu arasındaki süre (CPU_TIME olarak adlandırılır)
  • GPU Süresi: Önceki karenin GPU tarafından işleneceği süre (GPU_TIME olarak adlandırılır)
  • CPU ve GPU süresinin maksimum değeri olarak tanımlanan (RAW_FRAME_TIME olarak adlandırılır) ham kare süresi. Bu seçenek ile PACED_FRAME_TIME arasındaki fark, bu seçeneğin Swappy veya VSync tarafından dahil edilen bekleme süresini içermemesidir.

Bu araç anahtarlarını referans belgelerinde bulabilirsiniz. Android Frame Pacing kitaplığını etkinleştirdiğinizde bu anahtarların bazıları otomatik olarak kullanılır, ancak bu kitaplığı etkinleştirmezseniz bunları açıkça kullanmanız gerekir.

Doğruluk parametrelerini alma

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

Ayarlarda fidelity_params_callback işlevini TuningFork_init öğesine geçirirseniz veya kitaplık ölçeklendirilmiş moddaysa bu işlevi çağırmanıza gerek yoktur.

Bu işlev, doğruluk parametrelerini almak için bir sunucuyla bağlantı kurar. Aşağıdakilerden biri gerçekleşene kadar engelleme işlemi uygulanır:

  • Doğruluk parametreleri, TFERROR_OK döndürülen değerle alınır ve returnedParams parametreleri depolar. Bu durumda, sonraki onay işareti verileri returnedParams ile ilişkilendirilir.
  • Döndürülen değer: TFERROR_TIMEOUT, timeout_ms geçiş değerine eşit olan milisaniye sayısı. Bu durumda, sonraki onay işareti verileri defaultFidelityParams ile ilişkilendirilir.

Bu işlevden önce TuningFork_init() çağırmanız ve ana iş parçacığından ayrı bir iş parçacığında çağırmanız gerekir (bunu sizin için yapan bir yardımcı program işlevi için TuningFork_startFidelityParamDownloadThread() bölümüne bakın). Sunucudan doğruluk parametrelerini tekrar almak için bu işlevi, örneğin seviye yükleme zamanında tekrar çağırabilirsiniz. Böylece parametreleri yalnızca başlangıçta yeniden yüklemek zorunda kalmadan dinamik olarak güncelleyebilirsiniz. Yeni doğruluk parametreleri indirilirse veya yeni bir varsayılan değer kullanılırsa önceki tüm değer onay verileri gönderilir.