Herramientas comunes de Swappy

Son herramientas que se pueden usar con Swappy para OpenGL o Swappy para Vulkan.

Resumen

Typedefs

SwappyPostSwapBuffersCallback)(void *, long desiredPresentationTimeMillis) typedef
void(*
Es un puntero a una función que se puede adjuntar a SwappyTracer::postSwapBuffers.
SwappyPostWaitCallback)(void *, long cpu_time_ns, long gpu_time_ns) typedef
void(*
Es un puntero a una función que se puede adjuntar a SwappyTracer::postWait.
SwappyPreSwapBuffersCallback)(void *) typedef
void(*
Es un puntero a una función que se puede adjuntar a SwappyTracer::preSwapBuffers.
SwappyPreWaitCallback)(void *) typedef
void(*
Es un puntero a una función que se puede adjuntar a SwappyTracer::preWait.
SwappyStartFrameCallback)(void *, int currentFrame, long desiredPresentationTimeMillis) typedef
void(*
Es un puntero a una función que se puede adjuntar a SwappyTracer::startFrame.
SwappySwapIntervalChangedCallback)(void *) typedef
void(*
Es un puntero a una función que se puede adjuntar a SwappyTracer::swapIntervalChanged.
SwappyThreadFunctions typedef
Es una estructura que te permite definir la manera en que Swappy se iniciará y unirá los subprocesos por medio de la llamada a Swappy_setThreadFunctions.
SwappyThreadId typedef
uint64_t
Es el ID de subproceso que muestra un administrador de subprocesos externo.
SwappyTracer typedef
struct SwappyTracer
Es una colección de devoluciones de llamada que se llaman en cada fotograma a fin de seguir la ejecución.

Funciones

Swappy_setThreadFunctions(const SwappyThreadFunctions *thread_functions)
void
Llama a esta función antes de a cualquier otra a fin de usar un administrador de subprocesos personalizado.
Swappy_version()
uint32_t
Muestra la versión de la biblioteca de Swappy durante el tiempo de ejecución.

Macros

SWAPPY_SWAP_20FPS (50000000L)
Es un intervalo de intercambio para 20 FPS, en nanosegundos.
SWAPPY_SWAP_30FPS (33333333L)
Es un intervalo de intercambio para 30 FPS, en nanosegundos.
SWAPPY_SWAP_60FPS (16666667L)
Es un intervalo de intercambio para 60 FPS, en nanosegundos.

Structs

SwappyThreadFunctions

Es una estructura que te permite definir la manera en que Swappy se iniciará y unirá los subprocesos por medio de la llamada a Swappy_setThreadFunctions.

SwappyTracer

Es una colección de devoluciones de llamada que se llaman en cada fotograma a fin de seguir la ejecución.

Typedefs

SwappyPostSwapBuffersCallback

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

Es un puntero a una función que se puede adjuntar a SwappyTracer::postSwapBuffers.

Detalles
Parámetros
userData
Es un puntero a datos arbitrarios. Consulta SwappyTracer::userData.
desiredPresentationTimeMillis
Es el tiempo objetivo, en milisegundos, durante el cual el fotograma se presentará en pantalla.

SwappyPostWaitCallback

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

Es un puntero a una función que se puede adjuntar a SwappyTracer::postWait.

Detalles
Parámetros
userData
Es un puntero a datos arbitrarios. Consulta SwappyTracer::userData.
cpu_time_ns
Es el tiempo de procesamiento de CPU correspondiente a este fotograma, en nanosegundos.
gpu_time_ns
Es el tiempo de procesamiento de GPU correspondiente al fotograma anterior, en nanosegundos.

SwappyPreSwapBuffersCallback

void(* SwappyPreSwapBuffersCallback)(void *)

Es un puntero a una función que se puede adjuntar a SwappyTracer::preSwapBuffers.

Detalles
Parámetros
userData
Es un puntero a datos arbitrarios. Consulta SwappyTracer::userData.

SwappyPreWaitCallback

void(* SwappyPreWaitCallback)(void *)

Es un puntero a una función que se puede adjuntar a SwappyTracer::preWait.

Detalles
Parámetros
userData
Es un puntero a datos arbitrarios. Consulta SwappyTracer::userData.

SwappyStartFrameCallback

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

Es un puntero a una función que se puede adjuntar a SwappyTracer::startFrame.

Detalles
Parámetros
userData
Es un puntero a datos arbitrarios. Consulta SwappyTracer::userData.
desiredPresentationTimeMillis
Es el tiempo programado, en milisegundos, en el cual se presentará el fotograma.

SwappySwapIntervalChangedCallback

void(* SwappySwapIntervalChangedCallback)(void *)

Es un puntero a una función que se puede adjuntar a SwappyTracer::swapIntervalChanged.

Llama a SwappyGL_getSwapIntervalNS o ::SwappyVk_getSwapIntervalNS a fin de obtener el último swapInterval.

Detalles
Parámetros
userData
Es un puntero a datos arbitrarios. Consulta SwappyTracer::userData.

SwappyThreadFunctions

struct SwappyThreadFunctions SwappyThreadFunctions

Es una estructura que te permite definir la manera en que Swappy se iniciará y unirá los subprocesos por medio de la llamada a Swappy_setThreadFunctions.

El uso de esta función es opcional.

SwappyThreadId

uint64_t SwappyThreadId

Es el ID de subproceso que muestra un administrador de subprocesos externo.

SwappyTracer

struct SwappyTracer SwappyTracer

Es una colección de devoluciones de llamada que se llaman en cada fotograma a fin de seguir la ejecución.

Insertar estas opciones es opcional.

Funciones

Swappy_setThreadFunctions

void Swappy_setThreadFunctions(
  const SwappyThreadFunctions *thread_functions
)

Llama a esta función antes de a cualquier otra a fin de usar un administrador de subprocesos personalizado.

El uso de esta función es completamente opcional. Swappy usa std::thread de forma predeterminada.

Swappy_version

uint32_t Swappy_version()

Muestra la versión de la biblioteca de Swappy durante el tiempo de ejecución.

Macros

SWAPPY_SWAP_20FPS

 SWAPPY_SWAP_20FPS (50000000L)

Es un intervalo de intercambio para 20 FPS, en nanosegundos.

SWAPPY_SWAP_30FPS

 SWAPPY_SWAP_30FPS (33333333L)

Es un intervalo de intercambio para 30 FPS, en nanosegundos.

SWAPPY_SWAP_60FPS

 SWAPPY_SWAP_60FPS (16666667L)

Es un intervalo de intercambio para 60 FPS, en nanosegundos.