Aşağıdaki bölümlerde, kitaplığın normal çalışması için gerekli olmayan gelişmiş kullanım konuları özetlenmektedir.
Desteklenen diğer izleyiciler
Tuning Fork, birden fazla izleyiciyi destekler. Aşağıdaki enstrüman 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 karenin CPU işinin 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 ilePACED_FRAME_TIME
arasındaki fark, bu seçeneğin Swappy veya VSync tarafından eklenen bekleme süresini içermemesidir.
Bu enstrüman anahtarlarını referans belgelerinde bulabilirsiniz. Bu anahtarlardan bazıları Android Frame Pacing kitaplığını etkinleştirdiğinizde otomatik olarak kullanılır. Ancak bu kitaplığı etkinleştirmiyorsanız bunları açıkça kullanmanız gerekir.
Doğruluk parametrelerini alma
Ayarlarda fidelity_params_callback
değerini TuningFork_init
değerine aktarırsanız veya kitaplık ölçeklendirilmiş moddaysa bu işlevi çağırmanız gerekmez.
Bu işlev, doğruluk parametrelerini almak için bir sunucuyla iletişime geçer. Aşağıdaki durumlardan biri gerçekleşene kadar engeller:
- Doğruluk parametreleri
TFERROR_OK
dönüş değeriyle alınır vereturnedParams
parametreleri depolar. Bu durumda, sonraki tüm tick verilerireturnedParams
ile ilişkilendirilir. timeout_ms
milisaniyeye eşit bir süre geçer veTFERROR_TIMEOUT
dönüş değeri elde edilir. Bu durumda, sonraki tüm tick verileridefaultFidelityParams
ile ilişkilendirilir.
Bu işlevden önce TuningFork_init()
işlevini ç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ı işlev için TuningFork_startFidelityParamDownloadThread()
işlevine bakın). Bu işlevi, örneğin seviye yükleme sırasında tekrar çağırarak doğruluk parametrelerini sunucudan tekrar alabilirsiniz. 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 kullanılırsa önceki tüm tick verileri gönderilir.