Fitur umum Swappy

Fitur yang akan digunakan dengan Swappy untuk OpenGL atau Swappy untuk Vulkan.

Ringkasan

Typedef

SwappyPostSwapBuffersCallback)(void *, long desiredPresentationTimeMillis) typedef
void(*
Pointer ke fungsi yang dapat dilampirkan ke SwappyTracer::postSwapBuffers.
SwappyPostWaitCallback)(void *, long cpu_time_ns, long gpu_time_ns) typedef
void(*
Pointer ke fungsi yang dapat dilampirkan ke SwappyTracer::postWait.
SwappyPreSwapBuffersCallback)(void *) typedef
void(*
Pointer ke fungsi yang dapat dilampirkan ke SwappyTracer::preSwapBuffers.
SwappyPreWaitCallback)(void *) typedef
void(*
Pointer ke fungsi yang dapat dilampirkan ke SwappyTracer::preWait.
SwappyStartFrameCallback)(void *, int currentFrame, long desiredPresentationTimeMillis) typedef
void(*
Pointer ke fungsi yang dapat dilampirkan ke SwappyTracer::startFrame.
SwappySwapIntervalChangedCallback)(void *) typedef
void(*
Pointer ke fungsi yang dapat dilampirkan ke SwappyTracer::swapIntervalChanged.
SwappyThreadFunctions typedef
Struktur yang memungkinkan Anda menyetel cara Swappy memulai dan menggabungkan thread dengan memanggil Swappy_setThreadFunctions.
SwappyThreadId typedef
uint64_t
ID thread yang ditampilkan oleh pengelola thread eksternal.
SwappyTracer typedef
struct SwappyTracer
Kumpulan callback yang akan dipanggil setiap frame untuk melacak eksekusi.

Fungsi

Swappy_setThreadFunctions(const SwappyThreadFunctions *thread_functions)
void
Panggil ini sebelum fungsi lain untuk menggunakan pengelola thread khusus.
Swappy_version()
uint32_t
Menampilkan versi library Swappy saat waktu proses.

Makro

SWAPPY_SWAP_20FPS (50000000L)
Interval pertukaran selama 20 fps, dalam nanodetik.
SWAPPY_SWAP_30FPS (33333333L)
Interval pertukaran selama 30 fps, dalam nanodetik.
SWAPPY_SWAP_60FPS (16666667L)
Interval pertukaran selama 60fps, dalam nanodetik.

Struct

SwappyThreadFunctions

Struktur yang memungkinkan Anda menyetel cara Swappy memulai dan menggabungkan thread dengan memanggil Swappy_setThreadFunctions.

SwappyTracer

Kumpulan callback yang akan dipanggil setiap frame untuk melacak eksekusi.

Typedef

SwappyPostSwapBuffersCallback

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

Pointer ke fungsi yang dapat dilampirkan ke SwappyTracer::postSwapBuffers.

Detail
Parameter
userData
Pointer ke data arbitrer, lihat SwappyTracer::userData.
desiredPresentationTimeMillis
Waktu target, dalam milidetik, saat frame akan ditampilkan di layar.

SwappyPostWaitCallback

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

Pointer ke fungsi yang dapat dilampirkan ke SwappyTracer::postWait.

Detail
Parameter
userData
Pointer ke data arbitrer, lihat SwappyTracer::userData.
cpu_time_ns
Waktu untuk pemrosesan CPU dari frame ini dalam nanodetik.
gpu_time_ns
Waktu untuk pemrosesan GPU frame sebelumnya dalam nanodetik.

SwappyPreSwapBuffersCallback

void(* SwappyPreSwapBuffersCallback)(void *)

Pointer ke fungsi yang dapat dilampirkan ke SwappyTracer::preSwapBuffers.

Detail
Parameter
userData
Pointer ke data arbitrer, lihat SwappyTracer::userData.

SwappyPreWaitCallback

void(* SwappyPreWaitCallback)(void *)

Pointer ke fungsi yang dapat dilampirkan ke SwappyTracer::preWait.

Detail
Parameter
userData
Pointer ke data arbitrer, lihat SwappyTracer::userData.

SwappyStartFrameCallback

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

Pointer ke fungsi yang dapat dilampirkan ke SwappyTracer::startFrame.

Detail
Parameter
userData
Pointer ke data arbitrer, lihat SwappyTracer::userData.
desiredPresentationTimeMillis
Waktu, dalam milidetik, saat frame dijadwalkan untuk ditampilkan.

SwappySwapIntervalChangedCallback

void(* SwappySwapIntervalChangedCallback)(void *)

Pointer ke fungsi yang dapat dilampirkan ke SwappyTracer::swapIntervalChanged.

Panggil SwappyGL_getSwapIntervalNS atau ::SwappyVk_getSwapIntervalNS untuk mendapatkan swapInterval terbaru.

Detail
Parameter
userData
Pointer ke data arbitrer, lihat SwappyTracer::userData.

SwappyThreadFunctions

struct SwappyThreadFunctions SwappyThreadFunctions

Struktur yang memungkinkan Anda menyetel cara Swappy memulai dan menggabungkan thread dengan memanggil Swappy_setThreadFunctions.

Penggunaan fungsi ini bersifat opsional.

SwappyThreadId

uint64_t SwappyThreadId

ID thread yang ditampilkan oleh pengelola thread eksternal.

SwappyTracer

struct SwappyTracer SwappyTracer

Kumpulan callback yang akan dipanggil setiap frame untuk melacak eksekusi.

Injeksi ini bersifat opsional.

Fungsi

Swappy_setThreadFunctions

void Swappy_setThreadFunctions(
  const SwappyThreadFunctions *thread_functions
)

Panggil ini sebelum fungsi lain untuk menggunakan pengelola thread khusus.

Penggunaan fungsi ini sepenuhnya bersifat opsional. Swappy menggunakan std::thread secara default.

Swappy_version

uint32_t Swappy_version()

Menampilkan versi library Swappy saat waktu proses.

Makro

SWAPPY_SWAP_20FPS

 SWAPPY_SWAP_20FPS (50000000L)

Interval pertukaran selama 20 fps, dalam nanodetik.

SWAPPY_SWAP_30FPS

 SWAPPY_SWAP_30FPS (33333333L)

Interval pertukaran selama 30 fps, dalam nanodetik.

SWAPPY_SWAP_60FPS

 SWAPPY_SWAP_60FPS (16666667L)

Interval pertukaran selama 60fps, dalam nanodetik.