Swappy 常用工具

适用于 Swappy for OpenGL 或 Swappy for Vulkan 的工具。

摘要

类型定义

SwappyPostSwapBuffersCallback)(void *, int64_t desiredPresentationTimeMillis) typedef
void(*
指向可附加到 SwappyTracer::postSwapBuffers 的函数。
SwappyPostWaitCallback)(void *, int64_t cpu_time_ns, int64_t gpu_time_ns) typedef
void(*
指向可附加到 SwappyTracer::postWait 的函数。
SwappyPreSwapBuffersCallback)(void *) typedef
void(*
指向可附加到 SwappyTracer::preSwapBuffers 的函数。
SwappyPreWaitCallback)(void *) typedef
void(*
指向可附加到 SwappyTracer::preWait 的函数。
SwappyStartFrameCallback)(void *, int currentFrame, int64_t desiredPresentationTimeMillis) typedef
void(*
指向可附加到 SwappyTracer::startFrame 的函数。
SwappyStats typedef
结构体 SwappyStats
Swappy 帧统计信息,如果通过 SwappyGL_enableStatsSwappyVk_enableStats 启用,则收集。
SwappySwapIntervalChangedCallback)(void *) typedef
void(*
指向可附加到 SwappyTracer::swapIntervalChanged 的函数。
SwappyThreadFunctions typedef
一种结构,允许您通过调用 Swappy_setThreadFunctions 设置 Swappy 如何启动和加入线程。
SwappyThreadId typedef
uint64_t
由外部线程管理器返回的线程 ID。
SwappyTracer typedef
结构体 SwappyTracer
每帧调用一次的回调函数集合,用于跟踪执行。

函数

Swappy_setThreadFunctions(const SwappyThreadFunctions *thread_functions)
void
在调用任何其他函数之前调用此函数,以便使用自定义线程管理器。
Swappy_version()
uint32_t
返回运行时 Swappy 库的版本。
Swappy_versionString()
const char *
返回运行时 Swappy 库的完整版本,例如

MAX_FRAME_BUCKETS 6
统计信息表示的、以刷新周期为单位的最长持续时间。
SWAPPY_SWAP_20FPS (50000000L)
20fps 的交换间隔,单位为纳秒。
SWAPPY_SWAP_30FPS (33333333L)
30fps 的交换间隔,单位为纳秒。
SWAPPY_SWAP_60FPS (16666667L)
60fps 的交换间隔,单位为纳秒。

结构体

SwappyStats

Swappy 帧统计信息,如果通过 SwappyGL_enableStatsSwappyVk_enableStats 启用,则收集。

SwappyThreadFunctions

一种结构,允许您通过调用 Swappy_setThreadFunctions 设置 Swappy 如何启动和加入线程。

SwappyTracer

每帧调用一次的回调函数集合,用于跟踪执行。

类型定义

SwappyPostSwapBuffersCallback

void(* SwappyPostSwapBuffersCallback)(void *, int64_t desiredPresentationTimeMillis)

指向可附加到 SwappyTracer::postSwapBuffers 的函数。

详情
参数
userData
指向任意数据的指针,请参阅 SwappyTracer::userData
desiredPresentationTimeMillis
帧计划在屏幕上显示的目标时间,单位为毫秒。

SwappyPostWaitCallback

void(* SwappyPostWaitCallback)(void *, int64_t cpu_time_ns, int64_t 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, int64_t desiredPresentationTimeMillis)

指向可附加到 SwappyTracer::startFrame 的函数。

详情
参数
userData
指向任意数据的指针,请参阅 SwappyTracer::userData
desiredPresentationTimeMillis
帧计划显示的时间,单位为毫秒。

SwappyStats

struct SwappyStats SwappyStats

Swappy 帧统计信息,如果通过 SwappyGL_enableStatsSwappyVk_enableStats 启用,则收集。

SwappySwapIntervalChangedCallback

void(* SwappySwapIntervalChangedCallback)(void *)

指向可附加到 SwappyTracer::swapIntervalChanged 的函数。

调用 SwappyGL_getSwapIntervalNSSwappyVk_getSwapIntervalNS 以获取最新的 swapInterval。

详情
参数
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_versionString

const char * Swappy_versionString()

返回运行时 Swappy 库的完整版本,例如

"1.9.0_8a85ab7c46"

MAX_FRAME_BUCKETS

 MAX_FRAME_BUCKETS 6

统计信息表示的、以刷新周期为单位的最长持续时间。

另请参阅: SwappyStats

SWAPPY_SWAP_20FPS

 SWAPPY_SWAP_20FPS (50000000L)

20fps 的交换间隔,单位为纳秒。

SWAPPY_SWAP_30FPS

 SWAPPY_SWAP_30FPS (33333333L)

30fps 的交换间隔,单位为纳秒。

SWAPPY_SWAP_60FPS

 SWAPPY_SWAP_60FPS (16666667L)

60fps 的交换间隔,单位为纳秒。