PartyRegionQualityMeasurementConfiguration
파티 라이브러리에서 영역 품질 측정 동작을 제어하는 데 사용하는 구성입니다.
구문
struct PartyRegionQualityMeasurementConfiguration {
uint32_t totalMeasurementTimeoutInMilliseconds;
uint16_t highLatencyHintInMilliseconds;
uint16_t minRequiredSuccessfulResponses;
uint16_t idealNumberOfSuccessfulResponses;
uint16_t maxRetriesWithNoResponse;
uint16_t maxTimeoutsAfterResponse;
}
멤버
totalMeasurementTimeoutInMilliseconds
uint32_t
호스트 이름을 확인하고 로컬 디바이스와 PlayFab 서비스 품질 신호 서버 간의 네트워킹 조건을 측정할 수 있는 최대 시간(밀리초)입니다.
이 값은 파티 라이브러리가 사용 가능한 모든 영역에 대한 PlayFab 서비스 품질 비콘 서버 호스트 이름을 확인하고 연결 품질을 측정하기 위해 간단한 메시지를 보내는 데 허용되는 최대 시간(밀리초)을 제어합니다. 환경 문제로 인해 이름 확인 속도가 느리거나 일부 영역에 대한 대기 시간/패킷 손실이 높은 경우 이 제한 시간 내에 한 번 이상 성공적으로 연결한 영역만 PartyRegionsChangedStateChange 결과에 보고 됩니다.
이 값은 파티 라이브러리가 PlayFab 서비스에서 사용 가능한 영역 목록을 검색하는 데 걸리는 시간을 포함하거나 영향을 주지 않습니다.
애플리케이션은 일반적으로 기술 가정을 기반으로 몇 가지 숫자를 파생시키려고 시도하지 않고 사용자 경험 목표/최악의 경우 측면에서 이 시간 제한을 정의해야 합니다. 지정된 영역 또는 모든 영역을 측정하는 데 필요한 정확한 시간은 사용 가능한 영역 수, 현재 네트워킹 환경 조건, 관찰된 대기 시간에 따라 동적으로 조정된 파티 라이브러리의 시간 제한 등과 같은 요인에 따라 크게 달라질 수 있습니다.
이 값은 완료 또는 부분 오류가 발생하는 디바이스에 대해 사실상 최악의 경우 시간 제한입니다. 이는 일반적인 성공에 대한 실제 관찰과 대조하는 데 유용할 수 있습니다. 파티 라이브러리는 기본 PartyRegionQualityMeasurementConfiguration 값, 영역 가용성 및 플레이어 사용 패턴을 사용하여 현재 전 세계 대부분의 디바이스가 2.3초 이내에 전체 측정 프로세스를 성공적으로 완료하고 디바이스의 97%가 6초 이내에 성공적으로 완료되는 것을 관찰합니다. 이 기간은 더 많은 영역이 도입됨에 따라 시간이 지남에 따라 약간 증가할 것으로 예상됩니다.
기본값은 PartyOption::RegionQualityMeasurementConfiguration이 구성되지 않은 경우 15000(15초)입니다.
값이 0이면 시간 제한이 없으므로 모든 영역이 성공 또는 실패하는 데 걸리는 시간에 관계없이 모든 측정을 완료할 수 있습니다. 그렇지 않으면 최소값은 50밀리초입니다.
highLatencyHintInMilliseconds
uint16_t
가장 높은 대기 시간 임계값(밀리초)을 나타내는 힌트로, 애플리케이션에서 영역이 너무 지연되어 자세한 측정을 수행하는 데 더 많은 시간을 소비할 수 없는 것으로 간주됩니다.
이 대상 값은 영역 대기 시간에 대한 소프트 상한을 나타냅니다. 대기 시간이 더 높은 것으로 측정된 영역을 포함하는 것을 직접 방지하지는 않지만 파티 라이브러리는 시간 제한을 선택하고 이 수보다 짧은 대기 시간이 있는 영역에 최적화된 값을 다시 시도합니다. 또한 최소 응답 수(minRequiredSuccessfulResponses 필드에 구성 됨)가 수신된 후 각 영역에 대해 검사됩니다. 한 영역의 중앙값 측정 대기 시간이 이 대상보다 크면 이상적인 응답 수(idealNumberOfSuccessfulResponses 필드에 구성 됨)가 사용되지 않고 더 이상 측정 시도가 전송되지 않습니다.
이 값은 0일 수 없습니다.
PartyOption::RegionQualityMeasurementConfiguration이 구성되지 않은 경우 기본값은 200입니다.
minRequiredSuccessfulResponses
uint16_t
기본 평가를 위해 각 영역에 필요한 성공한 측정 메시지 응답의 최소 수입니다.
측정할 각 잠재적 영역은 품질 측정 경량 메시지 교환 중에 적어도 여러 번 성공적으로 응답해야만 결과가 highLatencyHintInMilliseconds 필드 대상 대기 시간에 대해 평가할 만큼 정확하다고 간주됩니다. 더 큰 최소 요구 사항을 설정하면 더 많은 측정 샘플이 생성되므로 이상값 패킷 변동이 발생할 경우 일관성과 정확도가 높아지므로 완료하는 데 시간이 더 오래 걸립니다.
충분한 성공적인 응답이 없더라도, 다음 중 하나가 발생하면 특정 영역에 대한 측정이 완료된 것으로 간주됩니다. 성공적인 응답이 전혀 도착하지 않고 시도 횟수가 maxRetriesWithNoResponse 필드에 설정된 값을 초과하거나, 최소한 하나의 응답이 도착하고 시도 횟수가 maxTimeoutsAfterResponse 필드에 설정된 값을 초과하거나, totalMeasurementTimeoutInMilliseconds 필드에 설정된 모든 영역에 대한 전체 타임아웃이 경과한 경우.
이 값은 0일 수 없습니다.
기본값은 PartyOption::RegionQualityMeasurementConfiguration이 구성되지 않은 경우 3입니다.
idealNumberOfSuccessfulResponses
uint16_t
철저한 평가를 달성하기 위해 각 영역에 대해 원하는 성공적인 측정 메시지 응답 수입니다.
이 값은 원하는 영역의 대기 시간 측정에서 원하는 정확도를 달성하기 위해 성공한 응답의 총 기본 설정 수를 나타냅니다. 이 값은 minRequiredSuccessfulResponses 필드의 최소값과 같거나 더 높아야 합니다. 파티 라이브러리는 해당 영역이 이미 highLatencyHintInMilliseconds 필드에 구성된 임계값보다 작거나 같은 중간 대기 시간을 갖는 것으로 측정된 영역에 대해 최소값과 이 이상적인 값 간의 추가 응답 수 차이를 가져오려고 시도합니다. 이 필드의 이상적인 응답 수를 사용하면 대기 시간이 더 긴 영역에 추가 시간을 소비하지 않고도 로컬 장치에 더 가치가 있을 수 있는 영역에 대한 측정 정확도를 계속 개선할 수 있습니다.
지역에 대한 최소 응답 수를 얻지 못한 경우 이 추가 이상적인 대상은 시도되지 않습니다. 그렇지 않으면 영역에 대한 maxTimeoutsAfterResponse 제한에 도달하거나 모든 영역에 대한 전체 totalMeasurementTimeoutInMilliseconds 필드 시간 제한이 경과하면 이 이상적인 응답 수를 받지 못하더라도 영역 측정이 완료된 것으로 간주됩니다.
기본값은 PartyOption::RegionQualityMeasurementConfiguration이 구성되지 않은 경우 4입니다.
maxRetriesWithNoResponse
uint16_t
영역에 연결할 수 없다고 간주하기 전에 응답 없이 영역에 초기 측정 메시지를 다시 보낼 최대 추가 횟수입니다.
이 값은 파티 라이브러리가 해당 영역을 사용할 수 없는 것으로 간주하기 전에 지역에 대한 첫 번째 품질 측정 간단한 메시지를 다시 시도할 때 수행하는 첫 번째 시도 이외의 총 추가 시도 횟수를 구성합니다. 영역의 서비스 품질 신호 서버에서 하나 이상의 성공적인 응답을 받은 경우 이 최대값은 더 이상 사용되지 않으며 대신 maxTimeoutsAfterResponse 필드는 시간 초과가 허용되는 시도 횟수를 제어합니다.
최대 재시도 값이 클수록 패킷 손실과 같은 일시적인 환경 문제에 더 허용되므로 연결할 수 없는 영역을 중단하는 데 시간이 오래 걸립니다. 모든 영역을 측정하는 데 허용되는 절대 최대 시간은 별도의 totalMeasurementTimeoutInMilliseconds 필드 값으로 제한됩니다.
기본값은 PartyOption::RegionQualityMeasurementConfiguration이 구성되지 않은 경우 3입니다.
maxTimeoutsAfterResponse
uint16_t
네트워킹 경로가 너무 불안정하여 측정을 계속할 수 없다고 간주하기 전에 이전에 응답한 영역에 대해 제한 시간을 초과할 수 있는 최대 측정 메시지 시도 횟수입니다.
영역의 서비스 품질 비콘 서버에서 하나 이상의 성공적인 응답을 받은 경우 이 값은 영역에 대한 minRequiredSuccessfulResponses 및 idealNumberOfSuccessfulResponses 측정 결과를 얻으려고 시도하는 동안 파티 라이브러리에서 허용하는 총 시간 초과 시도 횟수를 결정합니다.
최대 제한 시간 값이 클수록 패킷 손실과 같은 일시적인 환경 문제에 더 허용되며, 품질 저하 특성으로 영역 측정을 완료하는 데 시간이 오래 소요될 수 있습니다. 모든 영역을 측정하는 데 허용되는 절대 최대 시간은 별도의 totalMeasurementTimeoutInMilliseconds 필드 값으로 제한됩니다.
기본값은 PartyOption::RegionQualityMeasurementConfiguration이 구성되지 않은 경우 3입니다.
비고
이 구조를 PartyOption::RegionQualityMeasurementConfiguration와 함께 사용하여 각각 PartyManager::SetOption() 및 PartyManager::GetOption()을 통해 파티 라이브러리의 현재 구성을 재정의하거나 쿼리할 수 있습니다. PartyRegionsChangedStateChange 상태 변경과 관련된 영역 품질 측정 프로세스의 하위 수준 동작을 구성합니다.
요구 사항
헤더: Party.h
참고 항목
파티 멤버
PartyOption::RegionQualityMeasurementConfiguration
PartyRegionsChangedStateChange
PartyManager::SetOption
PartyManager::GetOption