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 |
|
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