> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 동적 지연 입력

> 동적 지연 입력

<Note>Dynamic Latency Input(동적 지연 입력)은 XBOX 콘솔에서만 사용할 수 있습니다. 이 기능은 PC에서 사용할 수 없으며, 따라서 PC 플랫폼에서는 이 API가 구현되어 있지 않습니다. DLI용 API는 GameInput v.1부터 더 이상 제공되지 않지만, 기반이 되는 동기화 시스템은 지원되는 장치에서 계속 사용할 수 있습니다. 타이틀은 여전히 이 동기화를 제공하기 위해 특정 호출에 대해 이후 API 버전에서 v.0으로 다운캐스팅할 수 있습니다.</Note>

<a id="introductionSection" />

이 문서에서는 Dynamic Latency Input(DLI)이 게임 내 장치 입력과 출력을 어떻게 동기화하는지 이해합니다. *입력 지연(input lag)* 또는 \*입력 지연 시간(input latency)\*은 물리적 입력이 발생한 시점부터 출력이 전송되는 시점까지의 지연입니다. 게임에서 이 지연은 버튼 누름과 화면 출력 사이의 시간입니다. 이 지연을 낮게 유지하는 것은 사용자가 게임 플레이에 집중하고 몰입하도록 하는 데 매우 중요합니다.

입력 지연 시간은 버튼 누름과 게임이 이를 읽어들이는 시점 사이의 시간입니다. DLI는 이 부분의 지연을 줄이기 위해 설계된 입력 아키텍처입니다.

## Dynamic Latency Input 개요

DLI는 컨트롤러와 게임 플랫폼 간의 동기화 시스템입니다. 게임의 입력 호출 패턴을 평가하고, 입력 호출 바로 직전에 최신 입력을 전달하도록 컨트롤러의 보고 속도를 조정합니다. 입력 호출을 완료하는 데 필요한 주요 구성 요소는 다음과 같습니다.

* 버튼을 얼마나 자주 보고하고 읽을지 동적으로 조정할 수 있는 컨트롤러.
* 다음 입력이 언제 필요할지 예측하기 위해 게임의 입력 읽기 패턴을 모니터링하는 기능.
* 이러한 패턴을 사용하여 컨트롤러 보고를 게임의 요구에 맞도록 조정하는 기능.

## DLI 정확도

DLI는 지원되는 장치가 사용될 때 실행됩니다. 다음 입력 읽기가 언제 발생할지 얼마나 잘 예측하는지 모니터링합니다. 이 값은 내부 신뢰도로 유지됩니다. 예측이 지속적으로 어긋나면 신뢰도가 너무 낮아지고 DLI는 스스로 비활성화됩니다.
신뢰도가 낮아지는 가장 흔한 이유는 일관성 없는 동작입니다. DLI는 입력이 일관된 주기로 읽힌다고 가정하고 이에 동기화합니다. 일부 게임은 DLI를 앞질러 실행되는 시뮬레이션 스레드를 사용하거나 일관성 없는 간격으로 입력을 읽습니다. 이러한 경우 DLI가 동기화할 안정적인 속도를 찾지 못해 혼란스러워하고 신뢰도가 낮아집니다.

<Note>DLI는 125Hz의 주기로 제한됩니다. 그보다 높은 주기를 시도하면 DLI가 스스로 비활성화됩니다.</Note>

### 힌트를 사용하여 정확도 높이기

신뢰도 낮음 문제를 완화하고 DLI를 지원하려면, 입력이 동기화되는 시점을 제어할 수 있도록 플랫폼에 힌트를 보냅니다. [SendInputSynchronizationHint](/reference/input/gameinput/deprecated/interfaces/igameinputdevice/methods/igameinputdevice_sendinputsynchronizationhint)를 호출하면 DLI는 입력 읽기 타이밍을 무시하고 힌트 호출에 동기화합니다. 입력이 늦게 들어오지 않도록 하려면, 다음 코드와 같이 각 시뮬레이션 패스의 첫 번째 입력 읽기 바로 직전에 `SendInputSynchronizationHint`를 사용합니다.

```c++ theme={null}
IGameInputDevice::SendInputSynchronizationHint()
```

## DLI 비활성화

현재 입력 동기화를 끄는 것이 권장되는 상황은 없지만, 이를 비활성화하면 그 이점을 평가하는 데 도움이 될 수 있습니다. 다음 코드와 같이 [SetInputSynchronizationState](/reference/input/gameinput/deprecated/interfaces/igameinputdevice/methods/igameinputdevice_setinputsynchronizationstate)를 사용하여 DLI를 비활성화하거나 다시 활성화합니다.

```c++ theme={null}
IGameInputDevice::SetInputSynchronizationState(bool enabled)
```

## DLI 성능 분석

타이틀에 대해 DLI가 어떻게 성능을 발휘하는지에 대한 자세한 내용은 [Dynamic Latency Input 성능 분석(NDA 주제)](/tools/tools-console/pix/pix-input-sync)을 참조하세요.

## 장치 지원

DLI는 지원 펌웨어가 있는 입력 장치에서만 실행됩니다. DLI를 지원하는 장치에 대한 자세한 내용은 [GameInputDeviceCapabilities](/reference/input/gameinput/deprecated/enums/gameinputdevicecapabilities)를 참조하세요.

<a id="seeAlsoSection" />

## 참조 API 문서

* [GameInput(API 콘텐츠)](/reference/input/gameinput/gameinput_members)

## 함께 보기

[GameInput 기본 사항](/build/core-features/common/input/overviews/input-fundamentals)

[GameInput 고급 주제](/build/core-features/common/input/advanced/input-advanced-topics)

[입력 API 참조](/reference/input/gc-reference-input-toc)


## Related topics

- [GameInput 고급 주제](/ko/build/core-features/common/input/advanced/input-advanced-topics.md)
- [게임 스트리밍 지연 시간 보정 심층 분석](/ko/build/core-features/common/game-streaming/game-streaming-latency-compensation-deep-dive.md)
- [GameInput 고급 주제: 포스 피드백 및 콜백](/ko/build/core-features/common/input/advanced/index.md)
- [입력](/ko/build/core-features/common/input/gc-input-toc.md)
- [청크의 동적 재정렬](/ko/build/core-features/common/packaging/packaging-chunkreordering.md)
