OpenGL용 Swappy 추가 함수
OpenGL에서 Swappy를 사용하기 위한 추가 유틸리티 함수입니다.
요약
함수 |
|
---|---|
SwappyGL_enableStats(bool enabled)
|
void
통계 수집을 사용 설정하거나 사용 중지합니다.
|
SwappyGL_getStats(SwappyStats *swappyStats)
|
void
통계 수집이 사용 설정된 경우 수집한 통계를 반환합니다.
|
SwappyGL_injectTracer(const SwappyTracer *t)
|
void
각 프레임에 호출될 콜백을 전달하여 실행을 추적합니다.
|
SwappyGL_onChoreographer(int64_t frameTimeNanos)
|
void
앱이 Android choreographer를 사용하여 Swappy에 틱을 제공하려는 경우 이 함수를 호출할 수 있습니다.
|
SwappyGL_recordFrameStart(EGLDisplay display, EGLSurface surface)
|
void
SwappyGL_enableStats에서 통계가 사용 설정되었다면 이 함수가 호출되어야 합니다.
|
SwappyGL_setAutoPipelineMode(bool enabled)
|
void
자동 파이프라인 모드를 사용 설정하거나 사용 중지합니다.
|
SwappyGL_setAutoSwapInterval(bool enabled)
|
void
자동 스왑 간격 감지를 사용 설정하거나 사용 중지합니다.
|
SwappyGL_setMaxAutoSwapIntervalNS(uint64_t max_swap_ns)
|
void
자동 스왑 간격의 최대 기간을 밀리초 단위로 설정합니다.
|
매크로 |
|
---|---|
MAX_FRAME_BUCKETS 6
|
통계로 표시되는 가장 긴 기간(새로고침 기간)입니다.
|
구조체 |
|
---|---|
SwappyStats |
SwappyGL_enableStats에서 통계가 사용 설정된 경우 수집된 Swappy 통계입니다. |
함수
SwappyGL_enableStats
void SwappyGL_enableStats( bool enabled )
통계 수집을 사용 설정하거나 사용 중지합니다.
기본적으로 통계 수집은 사용 중지되어 있으며, 통계와 관련된 오버헤드가 없습니다. 앱은 SwappyGL_enableStats(true)
를 호출하여 통계 수집을 사용 설정할 수 있습니다. 그런 다음, 앱은 CPU 관련 작업을 시작하기 전에 각 프레임에 대해 SwappyGL_recordFrameStart를 호출해야 합니다. 통계는 'FrameStatistics' 태그를 사용하여 logcat에 로깅됩니다. 앱은 SwappyGL_getStats를 호출하여 통계를 가져올 수 있습니다.
SwappyGL_getStats
void SwappyGL_getStats( SwappyStats *swappyStats )
통계 수집이 사용 설정된 경우 수집한 통계를 반환합니다.
참고 항목: SwappyStats 참고 항목: SwappyGL_enableStats
세부정보 | |||
---|---|---|---|
매개변수 |
|
SwappyGL_injectTracer
void SwappyGL_injectTracer( const SwappyTracer *t )
각 프레임에 호출될 콜백을 전달하여 실행을 추적합니다.
SwappyGL_onChoreographer
void SwappyGL_onChoreographer( int64_t frameTimeNanos )
앱이 Android choreographer를 사용하여 Swappy에 틱을 제공하려는 경우 이 함수를 호출할 수 있습니다.
이 함수는 첫 번째 Swappy_swap()
호출 전에 호출되어야 합니다. 그 이후에는 choreographer 틱마다 이 함수를 호출합니다.
SwappyGL_recordFrameStart
void SwappyGL_recordFrameStart( EGLDisplay display, EGLSurface surface )
SwappyGL_enableStats에서 통계가 사용 설정되었다면 이 함수가 호출되어야 합니다.
SwappyGL_enableStats에서 통계 수집이 사용 설정된 경우 앱은 CPU 관련 작업을 시작하기 전에 각 프레임에 대해 이 함수를 호출해야 합니다.
참고 항목:SwappyGL_enableStats
SwappyGL_setAutoPipelineMode
void SwappyGL_setAutoPipelineMode( bool enabled )
자동 파이프라인 모드를 사용 설정하거나 사용 중지합니다.
기본적으로 자동 스왑 간격이 사용 설정되어 있으면 자동 파이프라이닝이 사용 설정되며 Swappy는 적합한 경우 동일한 파이프라인 단계에서 CPU 및 GPU 작업을 예약하여 지연 시간을 줄이려고 합니다.
SwappyGL_setAutoSwapInterval
void SwappyGL_setAutoSwapInterval( bool enabled )
자동 스왑 간격 감지를 사용 설정하거나 사용 중지합니다.
기본적으로 Swappy는 실제 프레임 렌더링 시간에 따라 스왑 간격을 조정합니다. 앱이 Swappy에 의해 계산된 스왑 간격을 재정의하려는 경우 SwappyGL_setSwapIntervalNS
를 호출할 수 있습니다. 이 호출로 Swappy의 프레임 타이밍이 일시적으로 재정의되지만 SwappyGL_setAutoSwapInterval(false)
가 호출되지 않는 한, 타이밍은 계속해서 동적으로 업데이트되므로 스왑 간격이 변경될 수 있습니다.
SwappyGL_setMaxAutoSwapIntervalNS
void SwappyGL_setMaxAutoSwapIntervalNS( uint64_t max_swap_ns )
자동 스왑 간격의 최대 기간을 밀리초 단위로 설정합니다.
Swappy가 자동 스왑 간격으로 작동하고 프레임 지속 기간이 max_swap_ns
보다 길다면 Swappy는 속도를 지정하지 않고 최대한 빨리 프레임을 제출합니다.