Erweiterte Nutzung

In den folgenden Abschnitten werden Themen behandelt, die für den normalen Betrieb der Bibliothek nicht erforderlich sind.

Andere unterstützte Tracer

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

  • Zeit zwischen Framestarts (als PACED_FRAME_TIME bezeichnet)
  • CPU-Zeit: Zeit zwischen dem Start des Frames und dem Ende der CPU-Arbeit für den Frame (als CPU_TIME bezeichnet)
  • GPU-Zeit: Zeit, die der vorherige Frame von der GPU verarbeitet wird (mit dem Namen GPU_TIME)
  • Die unbearbeitete Frame Time, definiert als die maximale CPU- und GPU-Zeit (RAW_FRAME_TIME). Der Unterschied zwischen dieser Option und PACED_FRAME_TIME besteht darin, dass diese Option die von Swappy oder VSync enthaltene Wartezeit nicht enthält.

Sie finden diese Instrumentenschlüssel in der Referenzdokumentation. Einige dieser Schlüssel werden automatisch verwendet, wenn Sie die Android Frame Pacing-Bibliothek aktivieren. Wenn Sie diese Bibliothek 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 in den Einstellungen fidelity_params_callback 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 zur Grafikqualität abzurufen. Sie wird blockiert, bis eines der folgenden Ereignisse eintritt:

  • Parameter zur Grafikqualität werden abgerufen, wobei der Rückgabewert TFERROR_OK verwendet wird, während returnedParams die Parameter speichern. In diesem Fall sind alle nachfolgenden Tickdaten returnedParams zugeordnet.
  • Eine Anzahl von Millisekunden, die timeout_ms Durchgängen entspricht, mit einem Rückgabewert von TFERROR_TIMEOUT. In diesem Fall sind alle nachfolgenden Tickdaten defaultFidelityParams zugeordnet.

Vor dieser Funktion müssen Sie TuningFork_init() aufrufen. Außerdem müssen Sie die Funktion in einem anderen Thread als dem Hauptthread aufrufen. Eine Dienstprogrammfunktion, die dies für Sie übernimmt, finden Sie unter TuningFork_startFidelityParamDownloadThread(). Sie können diese Funktion noch einmal aufrufen, zum Beispiel beim Laden des Levels, um Parameter zur Grafikqualität wieder vom Server abzurufen. So können Sie Parameter dynamisch aktualisieren, anstatt sie nur beim Start neu laden zu müssen. Wenn neue Parameter zur Grafikqualität heruntergeladen oder ein neuer Standardwert verwendet wird, werden alle vorherigen Teilstrichdaten gesendet.