Swappy 共通ツール

OpenGL 用の Swappy と Vulkan 用の Swappy で使用するツール。

概要

Typedef

SwappyPostSwapBuffersCallback)(void *, long desiredPresentationTimeMillis) typedef
void(*
SwappyTracer::postSwapBuffers に付加できる関数へのポインタ。
SwappyPostWaitCallback)(void *, long cpu_time_ns, long gpu_time_ns) typedef
void(*
SwappyTracer::postWait に付加できる関数へのポインタ。
SwappyPreSwapBuffersCallback)(void *) typedef
void(*
SwappyTracer::preSwapBuffers に付加できる関数へのポインタ。
SwappyPreWaitCallback)(void *) typedef
void(*
SwappyTracer::preWait に付加できる関数へのポインタ。
SwappyStartFrameCallback)(void *, int currentFrame, long desiredPresentationTimeMillis) typedef
void(*
SwappyTracer::startFrame に付加できる関数へのポインタ。
SwappySwapIntervalChangedCallback)(void *) typedef
void(*
SwappyTracer::swapIntervalChanged に付加できる関数へのポインタ。
SwappyThreadFunctions typedef
Swappy_setThreadFunctions を呼び出すことにより、Swappy がスレッドを開始および結合する方法を設定するための構造体。
SwappyThreadId typedef
uint64_t
外部スレッド マネージャーによって返されるスレッドの ID。
SwappyTracer typedef
struct SwappyTracer
実行をトレースするために各フレームで呼び出されるコールバックのコレクション。

関数

Swappy_setThreadFunctions(const SwappyThreadFunctions *thread_functions)
void
カスタム スレッド マネージャーを使用するには、他の関数の前にこの関数を呼び出します。
Swappy_version()
uint32_t
実行時に Swappy ライブラリのバージョンを返します。

マクロ

SWAPPY_SWAP_20FPS (50000000L)
20 fps の場合のスワップ間隔(ナノ秒単位)。
SWAPPY_SWAP_30FPS (33333333L)
30 fps の場合のスワップ間隔(ナノ秒単位)。
SWAPPY_SWAP_60FPS (16666667L)
60 fps の場合のスワップ間隔(ナノ秒単位)。

構造体

SwappyThreadFunctions

Swappy_setThreadFunctions を呼び出すことにより、Swappy がスレッドを開始および結合する方法を設定するための構造体。

SwappyTracer

実行をトレースするために各フレームで呼び出されるコールバックのコレクション。

Typedef

SwappyPostSwapBuffersCallback

void(* SwappyPostSwapBuffersCallback)(void *, long desiredPresentationTimeMillis)

SwappyTracer::postSwapBuffers に付加できる関数へのポインタ。

詳細
パラメータ
userData
任意のデータへのポインタ。SwappyTracer::userData をご覧ください。
desiredPresentationTimeMillis
フレームが画面に表示されるターゲット時間(ミリ秒単位)。

SwappyPostWaitCallback

void(* SwappyPostWaitCallback)(void *, long cpu_time_ns, long gpu_time_ns)

SwappyTracer::postWait に付加できる関数へのポインタ。

詳細
パラメータ
userData
任意のデータへのポインタ。SwappyTracer::userData をご覧ください。
cpu_time_ns
このフレームの CPU 処理にかかる時間(ナノ秒単位)。
gpu_time_ns
前のフレームの GPU 処理にかかる時間(ナノ秒単位)。

SwappyPreSwapBuffersCallback

void(* SwappyPreSwapBuffersCallback)(void *)

SwappyTracer::preSwapBuffers に付加できる関数へのポインタ。

詳細
パラメータ
userData
任意のデータへのポインタ。SwappyTracer::userData をご覧ください。

SwappyPreWaitCallback

void(* SwappyPreWaitCallback)(void *)

SwappyTracer::preWait に付加できる関数へのポインタ。

詳細
パラメータ
userData
任意のデータへのポインタ。SwappyTracer::userData をご覧ください。

SwappyStartFrameCallback

void(* SwappyStartFrameCallback)(void *, int currentFrame, long desiredPresentationTimeMillis)

SwappyTracer::startFrame に付加できる関数へのポインタ。

詳細
パラメータ
userData
任意のデータへのポインタ。SwappyTracer::userData をご覧ください。
desiredPresentationTimeMillis
フレームの表示がスケジュールされている時間(ミリ秒単位)。

SwappySwapIntervalChangedCallback

void(* SwappySwapIntervalChangedCallback)(void *)

SwappyTracer::swapIntervalChanged に付加できる関数へのポインタ。

SwappyGL_getSwapIntervalNS または ::SwappyVk_getSwapIntervalNS を呼び出して、最新のスワップ間隔を取得します。

詳細
パラメータ
userData
任意のデータへのポインタ。SwappyTracer::userData をご覧ください。

SwappyThreadFunctions

struct SwappyThreadFunctions SwappyThreadFunctions

Swappy_setThreadFunctions を呼び出すことにより、Swappy がスレッドを開始および結合する方法を設定するための構造体。

この機能の使用は任意です。

SwappyThreadId

uint64_t SwappyThreadId

外部スレッド マネージャーによって返されるスレッドの ID。

SwappyTracer

struct SwappyTracer SwappyTracer

実行をトレースするために各フレームで呼び出されるコールバックのコレクション。

これらの挿入は任意です。

関数

Swappy_setThreadFunctions

void Swappy_setThreadFunctions(
  const SwappyThreadFunctions *thread_functions
)

カスタム スレッド マネージャーを使用するには、他の関数の前にこの関数を呼び出します。

この関数の使用は完全に任意です。Swappy はデフォルトで std::thread を使用します。

Swappy_version

uint32_t Swappy_version()

実行時に Swappy ライブラリのバージョンを返します。

マクロ

SWAPPY_SWAP_20FPS

 SWAPPY_SWAP_20FPS (50000000L)

20 fps の場合のスワップ間隔(ナノ秒単位)。

SWAPPY_SWAP_30FPS

 SWAPPY_SWAP_30FPS (33333333L)

30 fps の場合のスワップ間隔(ナノ秒単位)。

SWAPPY_SWAP_60FPS

 SWAPPY_SWAP_60FPS (16666667L)

60 fps の場合のスワップ間隔(ナノ秒単位)。