고급 사용법

다음 섹션에서는 라이브러리의 일반적인 작업에는 필요하지 않은 고급 사용법을 주제로 간략히 설명합니다.

지원되는 기타 트레이서

Tuning Fork는 여러 트레이서를 지원합니다. 다음 계측 키가 있는 트레이서가 지원됩니다.

  • 프레임 시작 사이의 시간(PACED_FRAME_TIME이라고 함)
  • CPU 시간: 프레임 시작과 프레임에 대한 CPU 작업 종료 사이의 시간(CPU_TIME이라고 함)
  • GPU 시간: 이전 프레임이 GPU에서 처리되는 시간(GPU_TIME이라고 함)
  • CPU 및 GPU 시간의 최댓값으로 정의되는 원시 프레임 시간(RAW_FRAME_TIME이라고 함): 이 옵션과 PACED_FRAME_TIME의 차이점은 이 옵션에는 Swappy 또는 VSync에 의해 포함된 대기 시간이 포함되지 않는다는 것입니다.

이러한 계측 키는 참조 문서에서 찾아볼 수 있습니다. 이러한 키 중 일부는 Android Frame Pacing 라이브러리를 사용 설정할 때 자동으로 사용되지만 이 라이브러리를 사용 설정하지 않는다면 계측 키를 명시적으로 사용해야 합니다.

충실도 매개변수 가져오기

TFErrorCode TuningFork_getFidelityParameters(const CProtobufSerialization* defaultParams, CProtobufSerialization* params, uint32_t timeout_ms);

설정에서 fidelity_params_callbackTuningFork_init에 전달하거나 라이브러리가 확장 모드인 경우 이 함수를 호출할 필요가 없습니다.

이 함수는 서버에 접속하여 충실도 매개변수를 검색합니다. 다음 중 하나가 발생할 때까지 차단됩니다.

  • 충실도 매개변수가 검색되고 반환 값은 TFERROR_OK입니다. returnedParams는 매개변수를 저장합니다. 이 경우 모든 후속 틱 데이터는 returnedParams와 연결됩니다.
  • timeout_ms와 동일한 밀리초가 경과하고 반환 값은 TFERROR_TIMEOUT입니다. 이 경우 모든 후속 틱 데이터는 defaultFidelityParams와 연결됩니다.

이 함수 전에 TuningFork_init()를 호출해야 하며 기본 스레드와 별도의 스레드에서 호출해야 합니다(이 작업을 자동으로 처리하는 유틸리티 함수에 관해서는 TuningFork_startFidelityParamDownloadThread() 참고). 예를 들어 레벨 로드 시에 이 함수를 다시 호출하여 서버에서 충실도 매개변수를 다시 검색할 수 있습니다. 이렇게 하면 시작 시에만 매개변수를 다시 로드하는 대신 매개변수를 동적으로 업데이트할 수 있습니다. 새 충실도 매개변수가 다운로드되거나 새 기본값이 사용되면 이전 틱 데이터가 모두 제출됩니다.