Dynamic Latency Input(동적 지연 입력)은 XBOX 콘솔에서만 사용할 수 있습니다. 이 기능은 PC에서 사용할 수 없으며, 따라서 PC 플랫폼에서는 이 API가 구현되어 있지 않습니다. DLI용 API는 GameInput v.1부터 더 이상 제공되지 않지만, 기반이 되는 동기화 시스템은 지원되는 장치에서 계속 사용할 수 있습니다. 타이틀은 여전히 이 동기화를 제공하기 위해 특정 호출에 대해 이후 API 버전에서 v.0으로 다운캐스팅할 수 있습니다.
Dynamic Latency Input 개요
DLI는 컨트롤러와 게임 플랫폼 간의 동기화 시스템입니다. 게임의 입력 호출 패턴을 평가하고, 입력 호출 바로 직전에 최신 입력을 전달하도록 컨트롤러의 보고 속도를 조정합니다. 입력 호출을 완료하는 데 필요한 주요 구성 요소는 다음과 같습니다.- 버튼을 얼마나 자주 보고하고 읽을지 동적으로 조정할 수 있는 컨트롤러.
- 다음 입력이 언제 필요할지 예측하기 위해 게임의 입력 읽기 패턴을 모니터링하는 기능.
- 이러한 패턴을 사용하여 컨트롤러 보고를 게임의 요구에 맞도록 조정하는 기능.
DLI 정확도
DLI는 지원되는 장치가 사용될 때 실행됩니다. 다음 입력 읽기가 언제 발생할지 얼마나 잘 예측하는지 모니터링합니다. 이 값은 내부 신뢰도로 유지됩니다. 예측이 지속적으로 어긋나면 신뢰도가 너무 낮아지고 DLI는 스스로 비활성화됩니다. 신뢰도가 낮아지는 가장 흔한 이유는 일관성 없는 동작입니다. DLI는 입력이 일관된 주기로 읽힌다고 가정하고 이에 동기화합니다. 일부 게임은 DLI를 앞질러 실행되는 시뮬레이션 스레드를 사용하거나 일관성 없는 간격으로 입력을 읽습니다. 이러한 경우 DLI가 동기화할 안정적인 속도를 찾지 못해 혼란스러워하고 신뢰도가 낮아집니다.DLI는 125Hz의 주기로 제한됩니다. 그보다 높은 주기를 시도하면 DLI가 스스로 비활성화됩니다.
힌트를 사용하여 정확도 높이기
신뢰도 낮음 문제를 완화하고 DLI를 지원하려면, 입력이 동기화되는 시점을 제어할 수 있도록 플랫폼에 힌트를 보냅니다. SendInputSynchronizationHint를 호출하면 DLI는 입력 읽기 타이밍을 무시하고 힌트 호출에 동기화합니다. 입력이 늦게 들어오지 않도록 하려면, 다음 코드와 같이 각 시뮬레이션 패스의 첫 번째 입력 읽기 바로 직전에SendInputSynchronizationHint를 사용합니다.
