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

세부정보
매개변수
swappyStats
수집된 통계로 채워질 SwappyStats에 대한 포인터입니다.

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는 속도를 지정하지 않고 최대한 빨리 프레임을 제출합니다.

매크로

MAX_FRAME_BUCKETS

 MAX_FRAME_BUCKETS 6

통계로 표시되는 가장 긴 기간(새로고침 기간)입니다.

참고 항목: SwappyStats