İ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 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şlenme süresi (GPU_TIME olarak adlandırılır)
  • CPU ve GPU süresinin maksimum değeri olarak tanımlanan ham kare süresi (RAW_FRAME_TIME olarak adlandırılır). 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 anahtarlardan bazıları otomatik olarak kullanılır, ancak bu kitaplığı etkinleştirmiyorsanız 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 öğesini 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 tüm onay işareti verileri returnedParams ile ilişkilendirilir.
  • timeout_ms pasa eşit olan milisaniye sayısı ve TFERROR_TIMEOUT döndürülen değer. Bu durumda, sonraki tüm onay 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 yeniden almak için bu işlevi, örneğin seviye yükleme zamanında tekrar çağırabilirsiniz. Bu sayede, parametreleri yalnızca başlangıçta yeniden yüklemek yerine dinamik olarak güncelleyebilirsiniz. Yeni doğruluk parametreleri indirilirse veya yeni bir varsayılan değer kullanılırsa önceki tüm onay verileri gönderilir.