> ## 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>动态延迟输入仅在 XBOX 主机上可用，PC 上不提供该功能，因此 PC 平台上的 API 未实现。自 GameInput v.1 起，DLI 的 API 也不再可用，但底层同步系统在受支持的设备上仍然可用。游戏仍可以选择使用这些同步，方法是在该特定调用中将后续 API 版本向下强制转换回 v.0。</Note>

<a id="introductionSection" />

本文介绍动态延迟输入 (DLI) 如何同步游戏内的设备输入和输出。“输入延迟”（也称“输入迟滞”）是指物理输入发生到发送输出之间的延时。在游戏中，此延迟是按下按键到画面输出之间的时间。将该延迟保持在较低水平对于保持用户对游戏的投入与沉浸至关重要。

输入延迟是按键按下到游戏读取到该按键之间的时间。DLI 是一种旨在减少这一环节延迟的输入架构。

## 动态延迟输入概述

DLI 是控制器与游戏平台之间的同步系统。它评估游戏的输入调用模式，并调整控制器的上报速率，从而在输入调用发生前及时提供最新输入。完成一次输入调用需要以下关键组件。

* 一款能够动态调整上报频率并读取按键的控制器。
* 能监视游戏的输入读取模式，以预测下一次输入的时机。
* 能利用这些模式调整控制器的上报，使其与游戏的需求保持一致。

## DLI 的准确性

在使用受支持的设备时，DLI 会运行。它会监视自己预测下一次输入读取发生时机的准确程度，并将该值作为内部的“置信度”保存。如果预测持续偏离，置信度会变得过低，DLI 会自行禁用。
低置信度最常见的原因是行为不一致。DLI 假定输入按稳定的节奏读取并与其同步。有些游戏使用超过 DLI 步频的模拟线程，或以不规律的间隔读取输入。这些情况会让 DLI 无所适从并降低其置信度，因为它找不到稳定的速率进行同步。

<Note>DLI 的节奏上限为 125 Hz。尝试更高的节奏会导致 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 在游戏中的表现的更多信息，请参阅[分析动态延迟输入性能（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 高级主题](/zh-CN/build/core-features/common/input/advanced/input-advanced-topics.md)
- [GameInput 高级主题：力反馈与回调](/zh-CN/build/core-features/common/input/advanced/index.md)
- [NDA 主题目录 - Microsoft Learn 在线链接](/zh-CN/nda/nda-topic-directory.md)
- [动态备用](/zh-CN/services/playfab/multiplayer/servers/dynamic-standby.md)
- [游戏串流延迟补偿深入探讨](/zh-CN/build/core-features/common/game-streaming/game-streaming-latency-compensation-deep-dive.md)
