1# NativeVsync 2 3 4## 概述 5 6提供NativeVsync功能。 7 8\@syscap SystemCapability.Graphic.Graphic2D.NativeVsync 9 10**起始版本:** 11 129 13 14 15## 汇总 16 17 18### 文件 19 20| 名称 | 描述 | 21| -------- | -------- | 22| [native_vsync.h](native__vsync_8h.md) | 定义获取和使用NativeVsync的相关函数<br/>**引用文件:** <native_vsync/native_vsync.h> <br/>**库:** libnative_vsync.so | 23 24 25### 类型定义 26 27| 名称 | 描述 | 28| -------- | -------- | 29| [OH_NativeVSync](#oh_nativevsync) | 提供OH_NativeVSync结构体声明 | 30| (\*[OH_NativeVSync_FrameCallback](#oh_nativevsync_framecallback)) (long long timestamp, void \*data) | VSync回调函数类型 | 31 32 33### 函数 34 35| 名称 | 描述 | 36| -------- | -------- | 37| [OH_NativeVSync_Create](#oh_nativevsync_create) (const char \*name, unsigned int length) | 创建一个OH_NativeVSync实例,每次调用都会产生一个新的实例 | 38| [OH_NativeVSync_Destroy](#oh_nativevsync_destroy) ([OH_NativeVSync](#oh_nativevsync) \*nativeVsync) | 销毁OH_NativeVSync实例 | 39| [OH_NativeVSync_RequestFrame](#oh_nativevsync_requestframe) ([OH_NativeVSync](#oh_nativevsync) \*nativeVsync, [OH_NativeVSync_FrameCallback](#oh_nativevsync_framecallback) callback, void \*data) | 请求下一次vsync信号,当信号到来时,调用回调函数callback | 40| [OH_NativeVSync_GetPeriod](#oh_nativevsync_getperiod) ([OH_NativeVSync](#oh_nativevsync) \*nativeVsync, long long \*period) |获取vsync周期。| 41 42## 类型定义说明 43 44 45### OH_NativeVSync 46 47 48``` 49typedef struct OH_NativeVSync OH_NativeVSync 50``` 51 52**描述:** 53 54提供OH_NativeVSync结构体声明 55 56 57### OH_NativeVSync_FrameCallback 58 59 60``` 61typedef void(* OH_NativeVSync_FrameCallback) (long long timestamp, void *data) 62``` 63 64**描述:** 65 66VSync回调函数类型 67 68\@syscap SystemCapability.Graphic.Graphic2D.NativeVsync 69 70**参数:** 71 72| 名称 | 描述 | 73| -------- | -------- | 74| timestamp | VSync时间戳 | 75| data | 用户自定义数据 | 76 77 78## 函数说明 79 80### OH_NativeVSync_GetPeriod() 81 82 83``` 84int OH_NativeVSync_GetPeriod (OH_NativeVSync * nativeVsync, long long * period ) 85``` 86 87**描述:** 88 89获取vsync周期。 90 91\@syscap SystemCapability.Graphic.Graphic2D.NativeVsync 92 93**参数:** 94 95| 名称 | 描述 | 96| -------- | -------- | 97| nativeVsync | 一个指向OH_NativeVSync实例的指针。| 98| period | 用于获取vsync周期的变量。 | 99 100**返回:** 101 102返回值为0表示执行成功。 103 104**起始版本:** 105 10610 107 108 109### OH_NativeVSync_Create() 110 111 112``` 113OH_NativeVSync* OH_NativeVSync_Create (const char * name, unsigned int length ) 114``` 115 116**描述:** 117 118创建一个OH_NativeVSync实例,每次调用都会产生一个新的实例 119 120\@syscap SystemCapability.Graphic.Graphic2D.NativeVsync 121 122**参数:** 123 124| 名称 | 描述 | 125| -------- | -------- | 126| name | 表示一个名字,与创建的OH_NativeVSync实例关联 | 127| length | name的长度 | 128 129**返回:** 130 131返回一个指向OH_NativeVSync实例的指针 132 133 134### OH_NativeVSync_Destroy() 135 136 137``` 138void OH_NativeVSync_Destroy (OH_NativeVSync * nativeVsync) 139``` 140 141**描述:** 142 143销毁OH_NativeVSync实例 144 145\@syscap SystemCapability.Graphic.Graphic2D.NativeVsync 146 147**参数:** 148 149| 名称 | 描述 | 150| -------- | -------- | 151| nativeVsync | 一个指向OH_NativeVSync实例的指针 | 152 153 154### OH_NativeVSync_RequestFrame() 155 156 157``` 158int OH_NativeVSync_RequestFrame (OH_NativeVSync * nativeVsync, OH_NativeVSync_FrameCallback callback, void * data ) 159``` 160 161**描述:** 162 163请求下一次vsync信号,当信号到来时,调用回调函数callback 164 165\@syscap SystemCapability.Graphic.Graphic2D.NativeVsync 166 167**参数:** 168 169| 名称 | 描述 | 170| -------- | -------- | 171| nativeVsync | 一个指向OH_NativeVSync实例的指针 | 172| callback | 一个OH_NativeVSync_FrameCallback类型的函数指针,当下一次vsync信号到来时会被调用 | 173| data | 一个指向用户自定义数据结构的指针,类型是void\* | 174 175**返回:** 176 177返回值为0表示执行成功 178