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
swappyStats
Es el puntero a SwappyStats que se propagará con las estadísticas recopiladas.

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