Fortgeschrittene Nutzung

In den folgenden Abschnitten werden erweiterte Themen zur Verwendung beschrieben, die für den normalen Betrieb der Bibliothek nicht erforderlich sind.

Andere unterstützte Tracers

Tuning Fork unterstützt mehrere Tracer. Tracer mit den folgenden Instrumentenschlüsseln werden unterstützt:

  • Zeit zwischen Frame-Starts (PACED_FRAME_TIME)
  • CPU-Zeit: Zeit zwischen dem Beginn des Frames und dem Ende der CPU-Arbeit für den Frame (als CPU_TIME bezeichnet)
  • GPU-Zeit: Zeit, die die GPU für die Verarbeitung des vorherigen Frames benötigt hat (GPU_TIME)
  • Die Rohbildzeit, definiert als das Maximum der CPU- und GPU-Zeit (RAW_FRAME_TIME). Der Unterschied zwischen dieser Option und PACED_FRAME_TIME besteht darin, dass diese Option keine Wartezeit enthält, die von Swappy oder VSync verursacht wird.

Diese Instrumentenschlüssel finden Sie in der Referenzdokumentation. Einige dieser Schlüssel werden automatisch verwendet, wenn Sie die Android Frame Pacing-Bibliothek aktivieren. Wenn Sie diese Bibliothek jedoch nicht aktivieren, sollten Sie sie explizit verwenden.

Parameter zur Grafikqualität abrufen

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

Wenn Sie fidelity_params_callback in den Einstellungen an TuningFork_init übergeben oder sich die Bibliothek im skalierten Modus befindet, müssen Sie diese Funktion nicht aufrufen.

Diese Funktion kontaktiert einen Server, um Parameter für die Wiedergabetreue abzurufen. Die Funktion wird blockiert, bis einer der folgenden Fälle eintritt:

  • Die Treueparameter werden abgerufen. Der Rückgabewert ist TFERROR_OK und returnedParams speichert die Parameter. In diesem Fall werden alle nachfolgenden Tick-Daten mit returnedParams verknüpft.
  • Es sind timeout_ms Millisekunden vergangen. Der Rückgabewert ist TFERROR_TIMEOUT. In diesem Fall werden alle nachfolgenden Tick-Daten mit defaultFidelityParams verknüpft.

Sie müssen TuningFork_init() vor dieser Funktion aufrufen und zwar in einem separaten Thread vom Hauptthread aus (siehe TuningFork_startFidelityParamDownloadThread() für eine Hilfsfunktion, die dies für Sie erledigt). Sie können diese Funktion beispielsweise beim Laden von Levels noch einmal aufrufen, um die Treueparameter noch einmal vom Server abzurufen. So können Sie Parameter dynamisch aktualisieren, anstatt sie nur beim Start neu laden zu müssen. Wenn neue Treueparameter heruntergeladen oder ein neuer Standardwert verwendet wird, werden alle bisherigen Tick-Daten gesendet.