高度な使用方法

以下のセクションでは、ライブラリの通常の動作には必要のない、高度な使用方法の概要を説明します。

サポートされているその他のトレーサー

Tuning Fork は複数のトレーサーをサポートしています。次のインストゥルメント キーを持つトレーサーがサポートされています。

  • フレーム開始間の時間(PACED_FRAME_TIME
  • CPU 時間: フレームの開始からフレームの CPU 作業終了までの時間(CPU_TIME
  • GPU 時間: GPU が前のフレームを処理する時間(GPU_TIME
  • CPU 時間と GPU 時間の最大値として定義される未加工フレーム時間(RAW_FRAME_TIME)。このオプションは、Swappy または VSync によって含まれる待機時間が含まれないという点で PACED_FRAME_TIME と異なります。

これらインストゥルメント キーについては、リファレンス マニュアルをご覧ください。 これらのキーの一部は、Android Frame Pacing ライブラリを有効にすると自動的に使用されますが、このライブラリを有効にしていない場合は明示的に使用する必要があります。

忠実度パラメータの取得

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

設定で fidelity_params_callbackTuningFork_init に渡す場合、またはライブラリがスケールモードの場合、この関数を呼び出す必要はありません。

この関数は、サーバーに接続して忠実度パラメータを取得します。次のいずれかが発生するまでブロックされます。

  • 忠実度パラメータが取得され、戻り値は TFERROR_OK であり、returnedParams がパラメータを格納する。この場合、後続のティックデータはすべて returnedParams に関連付けられます。
  • timeout_ms に等しいミリ秒数が渡され、戻り値は TFERROR_TIMEOUT である。この場合、後続のティックデータはすべて defaultFidelityParams に関連付けられます。

この関数の前に TuningFork_init() を呼び出す必要があります。また、メインスレッドとは別のスレッドで呼び出す必要があります(これを行うユーティリティ関数については TuningFork_startFidelityParamDownloadThread() をご覧ください)。たとえばレベル読み込み時に、この関数を再度呼び出して、サーバーから忠実度パラメータを再度取得できます。これにより、起動時にのみパラメータを再読み込みするのではなく、動的に更新できます。新しい忠実度パラメータをダウンロードするか、新しいデフォルトを使用すると、以前のティックデータがすべて送信されます。