Ferramentas comuns do Swappy

Ferramentas a serem usadas com o Swappy para OpenGL ou Swappy para Vulkan.

Resumo

Typedefs

SwappyPostSwapBuffersCallback)(void *, long desiredPresentationTimeMillis) typedef
void(*
Ponteiro para uma função que pode ser anexada a SwappyTracer::postSwapBuffers.
SwappyPostWaitCallback)(void *, long cpu_time_ns, long gpu_time_ns) typedef
void(*
Ponteiro para uma função que pode ser anexada a SwappyTracer::postWait.
SwappyPreSwapBuffersCallback)(void *) typedef
void(*
Ponteiro para uma função que pode ser anexada a SwappyTracer::preSwapBuffers.
SwappyPreWaitCallback)(void *) typedef
void(*
Ponteiro para uma função que pode ser anexada a SwappyTracer::preWait.
SwappyStartFrameCallback)(void *, int currentFrame, long desiredPresentationTimeMillis) typedef
void(*
Ponteiro para uma função que pode ser anexada a SwappyTracer::startFrame.
SwappySwapIntervalChangedCallback)(void *) typedef
void(*
Ponteiro para uma função que pode ser anexada a SwappyTracer::swapIntervalChanged.
SwappyThreadFunctions typedef
Estrutura que permite definir como o Swappy inicia e ingressa em linhas de execução chamando Swappy_setThreadFunctions.
SwappyThreadId typedef
uint64_t
ID de uma linha de execução retornada por um gerenciador de linhas de execução externo.
SwappyTracer typedef
struct SwappyTracer
Coleção de callbacks a serem chamados em cada frame para rastrear a execução.

Funções

Swappy_setThreadFunctions(const SwappyThreadFunctions *thread_functions)
void
Chame esta função antes de qualquer outra para usar um gerenciador de linhas de execução personalizado.
Swappy_version()
uint32_t
Retorna a versão da biblioteca Swappy no ambiente de execução.

Macros

SWAPPY_SWAP_20FPS (50000000L)
Intervalo de troca de 20 qps, em nanossegundos.
SWAPPY_SWAP_30FPS (33333333L)
Intervalo de troca de 30 fps, em nanossegundos.
SWAPPY_SWAP_60FPS (16666667L)
Intervalo de troca de 60 fps em nanossegundos.

Estruturas

SwappyThreadFunctions

Estrutura que permite definir como o Swappy inicia e ingressa em linhas de execução chamando Swappy_setThreadFunctions.

SwappyTracer

Coleção de callbacks a serem chamados em cada frame para rastrear a execução.

Typedefs

SwappyPostSwapBuffersCallback

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

Ponteiro para uma função que pode ser anexada a SwappyTracer::postSwapBuffers.

Detalhes
Parâmetros
userData
Ponteiro para dados arbitrários; consulte SwappyTracer::userData.
desiredPresentationTimeMillis
Tempo desejado, em milissegundos, em que o frame seria apresentado na tela.

SwappyPostWaitCallback

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

Ponteiro para uma função que pode ser anexada a SwappyTracer::postWait.

Detalhes
Parâmetros
userData
Ponteiro para dados arbitrários; consulte SwappyTracer::userData.
cpu_time_ns
Tempo de processamento da CPU desse frame em nanossegundos.
gpu_time_ns
Tempo de processamento da GPU do frame anterior em nanossegundos.

SwappyPreSwapBuffersCallback

void(* SwappyPreSwapBuffersCallback)(void *)

Ponteiro para uma função que pode ser anexada a SwappyTracer::preSwapBuffers.

Detalhes
Parâmetros
userData
Ponteiro para dados arbitrários; consulte SwappyTracer::userData.

SwappyPreWaitCallback

void(* SwappyPreWaitCallback)(void *)

Ponteiro para uma função que pode ser anexada a SwappyTracer::preWait.

Detalhes
Parâmetros
userData
Ponteiro para dados arbitrários; consulte SwappyTracer::userData.

SwappyStartFrameCallback

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

Ponteiro para uma função que pode ser anexada a SwappyTracer::startFrame.

Detalhes
Parâmetros
userData
Ponteiro para dados arbitrários; consulte SwappyTracer::userData.
desiredPresentationTimeMillis
Tempo, em milissegundos, em que o frame está programado para ser apresentado.

SwappySwapIntervalChangedCallback

void(* SwappySwapIntervalChangedCallback)(void *)

Ponteiro para uma função que pode ser anexada a SwappyTracer::swapIntervalChanged.

Chame SwappyGL_getSwapIntervalNS ou ::SwappyVk_getSwapIntervalNS para ter o swapInterval mais recente.

Detalhes
Parâmetros
userData
Ponteiro para dados arbitrários; consulte SwappyTracer::userData.

SwappyThreadFunctions

struct SwappyThreadFunctions SwappyThreadFunctions

Estrutura que permite definir como o Swappy inicia e ingressa em linhas de execução chamando Swappy_setThreadFunctions.

O uso dessa função é opcional.

SwappyThreadId

uint64_t SwappyThreadId

ID de uma linha de execução retornada por um gerenciador de linhas de execução externo.

SwappyTracer

struct SwappyTracer SwappyTracer

Coleção de callbacks a serem chamados em cada frame para rastrear a execução.

A inclusão deles é opcional.

Funções

Swappy_setThreadFunctions

void Swappy_setThreadFunctions(
  const SwappyThreadFunctions *thread_functions
)

Chame esta função antes de qualquer outra para usar um gerenciador de linhas de execução personalizado.

O uso dessa função é totalmente opcional. O Swappy usa std::thread por padrão.

Swappy_version

uint32_t Swappy_version()

Retorna a versão da biblioteca Swappy no ambiente de execução.

Macros

SWAPPY_SWAP_20FPS

 SWAPPY_SWAP_20FPS (50000000L)

Intervalo de troca de 20 qps, em nanossegundos.

SWAPPY_SWAP_30FPS

 SWAPPY_SWAP_30FPS (33333333L)

Intervalo de troca de 30 fps, em nanossegundos.

SWAPPY_SWAP_60FPS

 SWAPPY_SWAP_60FPS (16666667L)

Intervalo de troca de 60 fps em nanossegundos.