Swappy para extras do OpenGL

Outras funções de utilitário para usar o Swappy com o OpenGL.

Resumo

Funções

SwappyGL_enableStats(bool enabled)
void
Ativa/desativa a coleta de estatísticas.
SwappyGL_getStats(SwappyStats *swappyStats)
void
Retorna as estatísticas coletadas, se a coleta de estatísticas estiver ativada.
SwappyGL_injectTracer(const SwappyTracer *t)
void
Transmite callbacks a serem chamados em cada frame para rastrear a execução.
SwappyGL_onChoreographer(int64_t frameTimeNanos)
void
Se um app quiser usar o Android Choreographer para fornecer marcações ao Swappy, ele poderá chamar essa função.
SwappyGL_recordFrameStart(EGLDisplay display, EGLSurface surface)
void
Será chamada se as estatísticas tiverem sido ativadas com SwappyGL_enableStats.
SwappyGL_setAutoPipelineMode(bool enabled)
void
Ativa/desativa o modo de pipeline automático.
SwappyGL_setAutoSwapInterval(bool enabled)
void
Ativa/desativa a detecção de intervalo de troca automática.
SwappyGL_setMaxAutoSwapIntervalNS(uint64_t max_swap_ns)
void
Define a duração máxima para o intervalo de troca automática em milissegundos.

Macros

MAX_FRAME_BUCKETS 6
É a duração mais longa, em períodos de atualização, representada pelas estatísticas.

Estruturas

SwappyStats

Estatísticas do Swappy, coletadas se ativadas com SwappyGL_enableStats.

Funções

SwappyGL_enableStats

void SwappyGL_enableStats(
  bool enabled
)

Ativa/desativa a coleta de estatísticas.

Por padrão, a coleta de estatísticas fica desativada e não há sobrecarga relacionada às estatísticas. O app pode ativar a coleta de estatísticas chamando SwappyGL_enableStats(true). Em seguida, o app precisa chamar SwappyGL_recordFrameStart para cada frame antes de começar a fazer qualquer trabalho relacionado à CPU. As estatísticas serão registradas no logcat com uma tag FrameStatistics. Um app pode acessar as estatísticas chamando SwappyGL_getStats.

SwappyGL_getStats

void SwappyGL_getStats(
  SwappyStats *swappyStats
)

Retorna as estatísticas coletadas, se a coleta de estatísticas estiver ativada.

Consulte também: SwappyStats Consulte também: SwappyGL_enableStats

Detalhes
Parâmetros
swappyStats
Ponteiro para um SwappyStats que será preenchido com estatísticas coletadas.

SwappyGL_injectTracer

void SwappyGL_injectTracer(
  const SwappyTracer *t
)

Transmite callbacks a serem chamados em cada frame para rastrear a execução.

SwappyGL_onChoreographer

void SwappyGL_onChoreographer(
  int64_t frameTimeNanos
)

Se um app quiser usar o Android Choreographer para fornecer marcações ao Swappy, ele poderá chamar essa função.

Essa função precisa ser chamada antes da primeira chamada de Swappy_swap(). Depois, chame essa função para cada marcação do Choreographer.

SwappyGL_recordFrameStart

void SwappyGL_recordFrameStart(
  EGLDisplay display,
  EGLSurface surface
)

Será chamada se as estatísticas tiverem sido ativadas com SwappyGL_enableStats.

Quando a coleta de estatísticas é ativada com SwappyGL_enableStats, o app precisa chamar essa função para cada frame antes de começar a fazer qualquer trabalho relacionado à CPU.

Consulte também:SwappyGL_enableStats.

SwappyGL_setAutoPipelineMode

void SwappyGL_setAutoPipelineMode(
  bool enabled
)

Ativa/desativa o modo de pipeline automático.

Por padrão, se o intervalo de troca automática estiver ativado, esse recurso será ativado e o Swappy tentará reduzir a latência programando o trabalho da CPU e GPU no mesmo estágio do pipeline, se adequado.

SwappyGL_setAutoSwapInterval

void SwappyGL_setAutoSwapInterval(
  bool enabled
)

Ativa/desativa a detecção de intervalo de troca automática.

Por padrão, o Swappy ajustará o intervalo de troca com base no tempo real para renderização do frame. Se um app quiser modificar o intervalo de troca calculado pelo Swappy, ele poderá chamar SwappyGL_setSwapIntervalNS. Isso modificará temporariamente os tempos para a renderização de frame do Swappy, mas, a menos que SwappyGL_setAutoSwapInterval(false) seja chamado, os tempos continuarão sendo atualizados de forma dinâmica. Portanto, o intervalo de troca pode mudar.

SwappyGL_setMaxAutoSwapIntervalNS

void SwappyGL_setMaxAutoSwapIntervalNS(
  uint64_t max_swap_ns
)

Define a duração máxima para o intervalo de troca automática em milissegundos.

Se o Swappy estiver operando no intervalo de troca automática e a duração do frame for maior que max_swap_ns, o Swappy não encontrará nenhum ritmo e enviará o frame o mais cedo possível.

Macros

MAX_FRAME_BUCKETS

 MAX_FRAME_BUCKETS 6

É a duração mais longa, em períodos de atualização, representada pelas estatísticas.

Consulte também: SwappyStats