Swappy para extras de OpenGL
Son funciones de utilidad adicionales para usar Swappy con OpenGL.
Resumen
Funciones |
|
---|---|
SwappyGL_enableStats(bool enabled)
|
void
Activa o desactiva la recopilación de estadísticas.
|
SwappyGL_getStats(SwappyStats *swappyStats)
|
void
Muestra las estadísticas recopiladas si se activó la recopilación de estas.
|
SwappyGL_injectTracer(const SwappyTracer *t)
|
void
Pasa devoluciones de llamada para que se las llame en cada fotograma a fin de realizar el seguimiento.
|
SwappyGL_onChoreographer(int64_t frameTimeNanos)
|
void
La app puede llamar a esta función si se desea que use Android Choreographer para proporcionar marcas a Swappy.
|
SwappyGL_recordFrameStart(EGLDisplay display, EGLSurface surface)
|
void
Se debe llamar a esta función si se habilitaron las estadísticas con SwappyGL_enableStats.
|
SwappyGL_setAutoPipelineMode(bool enabled)
|
void
Activa o desactiva el modo de canalización automática.
|
SwappyGL_setAutoSwapInterval(bool enabled)
|
void
Activa o desactiva la detección del intervalo de intercambio automático.
|
SwappyGL_setMaxAutoSwapIntervalNS(uint64_t max_swap_ns)
|
void
Establece la duración máxima en milisegundos del intervalo de intercambio automático.
|
Macros |
|
---|---|
MAX_FRAME_BUCKETS 6
|
Es la duración más prolongada, en períodos de actualización, representados por las estadísticas.
|
Structs |
|
---|---|
SwappyStats |
Son estadísticas de Swappy que se recopilan si se activa la opción con SwappyGL_enableStats. |
Funciones
SwappyGL_enableStats
void SwappyGL_enableStats( bool enabled )
Activa o desactiva la recopilación de estadísticas.
De manera predeterminada, la recopilación de estadísticas está desactivada y no hay sobrecarga relacionada con ellas. Una app puede activar la recopilación de estadísticas llamando a SwappyGL_enableStats(true)
. Luego, se espera que la app llame a SwappyGL_recordFrameStart para cada fotograma antes de comenzar a realizar cualquier trabajo relacionado con la CPU. Las estadísticas se registrarán en logcat con la etiqueta "FrameStatistics". Una app puede obtener las estadísticas llamando a SwappyGL_getStats.
SwappyGL_getStats
void SwappyGL_getStats( SwappyStats *swappyStats )
Muestra las estadísticas recopiladas si se activó la recopilación de estas.
Consulta también: SwappyStats Consulta también: SwappyGL_enableStats
Detalles | |||
---|---|---|---|
Parámetros |
|
SwappyGL_injectTracer
void SwappyGL_injectTracer( const SwappyTracer *t )
Pasa devoluciones de llamada para que se las llame en cada fotograma a fin de realizar el seguimiento.
SwappyGL_onChoreographer
void SwappyGL_onChoreographer( int64_t frameTimeNanos )
La app puede llamar a esta función si se desea que use Android Choreographer para proporcionar marcas a Swappy.
Se debe llamar a esta función antes de la primera llamada a Swappy_swap()
. A continuación, llama a esta función a cada marca de Choreographer.
SwappyGL_recordFrameStart
void SwappyGL_recordFrameStart( EGLDisplay display, EGLSurface surface )
Se debe llamar a esta función si se habilitaron las estadísticas con SwappyGL_enableStats.
Cuando se habilita la recopilación de estadísticas con SwappyGL_enableStats, se espera que la app llame a esta función para cada fotograma antes de comenzar a realizar trabajos relacionados con la CPU.
Consulta también:SwappyGL_enableStats.
SwappyGL_setAutoPipelineMode
void SwappyGL_setAutoPipelineMode( bool enabled )
Activa o desactiva el modo de canalización automática.
De forma predeterminada, si el intervalo de intercambio automático está activado, la canalización automática también lo está, y Swappy intentará reducir la latencia programando trabajos de CPU y GPU en la misma etapa de canalización, de ser posible.
SwappyGL_setAutoSwapInterval
void SwappyGL_setAutoSwapInterval( bool enabled )
Activa o desactiva la detección del intervalo de intercambio automático.
De forma predeterminada, Swappy puede ajustar el intervalo de intercambio en virtud del tiempo de procesamiento de fotogramas real. La app puede llamar a SwappyGL_setSwapIntervalNS
si desea anular el intervalo de intercambio calculado por Swappy. Esta acción anulará temporalmente la latencia de fotogramas de Swappy, pero, a menos que se llame a SwappyGL_setAutoSwapInterval(false)
, se seguirá actualizando esta latencia de forma dinámica, por lo que el intervalo de intercambio podría cambiar.
SwappyGL_setMaxAutoSwapIntervalNS
void SwappyGL_setMaxAutoSwapIntervalNS( uint64_t max_swap_ns )
Establece la duración máxima en milisegundos del intervalo de intercambio automático.
Si SwappyVk funciona en el modo de intervalo de intercambio automático y la duración del fotograma es más larga que max_swap_ns
, Swappy no establecerá ningún ritmo y solo enviará el fotograma lo antes posible.
Macros
MAX_FRAME_BUCKETS
MAX_FRAME_BUCKETS 6
La duración más prolongada, en períodos de actualización, representados por las estadísticas.
Consulta también: SwappyStats