> ## 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.

# 游戏串流延迟测量

> 游戏串流延迟测量

使用本主题测量游戏的延迟。游戏串流延迟发生在存在网络延迟以及串流游戏所需的额外处理时。游戏串流有几个阶段（如图 1 所示）。

**图 1. 显示 XBOX 游戏串流的不同阶段。**

<img src="https://mintcdn.com/microsoft-4404708b/UZTRJSf0emX1fheE/images/gdk/features/common/game-streaming-stages.png?fit=max&auto=format&n=UZTRJSf0emX1fheE&q=85&s=ae449d307234c2e993da3d066578f72f" alt="游戏串流不同阶段的屏幕截图" width="1429" height="645" data-path="images/gdk/features/common/game-streaming-stages.png" />

## 游戏引擎

游戏通常在接收用户输入和渲染结果帧之间有几个阶段（如图 1 所示）。根据游戏不同，这可能需要从个位数毫秒到数百毫秒不等。

虽然串流服务器和 XBOX 主机之间的游戏引擎延迟没有差别，但当它与其余串流延迟叠加时，用户可能会更明显地感受到其影响。优化游戏引擎延迟和帧率可减少用户在您游戏中体验到的延迟。

## 服务器

在图 1 中，XBOX 串流服务器的其余时间用于准备将帧发送到客户端。这主要发生在 Capture 阶段（从 GPU 中检索帧）和 Encode 阶段（缩放并压缩帧以优化网络带宽）。

## 网络

XBOX 服务器将视频发送到串流客户端，并通过 Internet 接收返回的输入。该网络连接的延迟根据以下因素而变化。

* 客户端设备与服务器之间的物理距离。
  * Microsoft 将服务器部署到世界各地的 Azure 数据中心，以尽可能减小距离。从他们的 XBOX 主机进行串流的用户可能距离更远。
* 用户互联网连接的速度。
* 用户的互联网连接类型和硬件。
  * 例如，2.4 GHz 无线网络连接的延迟通常高于 5 GHz 连接。某些互联网服务提供商 (ISP) 也有增加延迟的缓冲策略。

网络延迟会随时间变化，甚至逐个数据包变化。可变延迟可能由 ISP 策略、经过互联网硬件的路径以及物理变化引起。

例如，在移动车辆中通过手机游玩的用户会有可变延迟，并在切换到不同的信号塔时出现峰值。为此，`XGameStreamingGetStreamAddedLatency` 返回延迟的标准差（也称为 "抖动"）。

有关模拟串流网络延迟的更多信息，请参阅 [在测试游戏时模拟延迟](/build/core-features/common/game-streaming/game-streaming-simulate-latency-while-testing)。

## 客户端

当客户端接收到视频帧时，它必须解码该帧并通过自己的图形栈呈现它。

客户端的图形硬件决定该解码需要多长时间。此外，大多数客户端必须等待本地 `vSync` 计时器来呈现下一帧。在具有 60 Hz 屏幕的客户端上，这可能平均花费 8 ms。

与在连接到电视的 XBOX 主机上运行的游戏一样，串流客户端使用具有自己延迟的显示器。

显示延迟可以从只有几毫秒延迟的快速游戏显示器，到没有游戏模式的廉价移动显示器或电视花费数百毫秒不等。显示器并不总是报告延迟，因此 XBOX 游戏串流 API 不包括客户端显示延迟。

控制器和其他输入方法（如触控）也有延迟。控制器的蓝牙® 连接可能会增加明显的延迟。与显示延迟一样，输入延迟无法由客户端测量，因此 XBOX 游戏串流 API 不予表示。

## 参考 API 文档

* [XGameStreaming（API 内容）](/reference/system/xgamestreaming/xgamestreaming_members)

## 另请参阅

[游戏串流延迟补偿概述](/build/core-features/common/game-streaming/game-streaming-latency-compensation-overview)
[游戏串流延迟补偿深入探讨](/build/core-features/common/game-streaming/game-streaming-latency-compensation-deep-dive)
[在测试游戏时模拟延迟](/build/core-features/common/game-streaming/game-streaming-simulate-latency-while-testing)
[XGameStreaming（API 内容）](/reference/system/xgamestreaming/xgamestreaming_members#Latency)


## Related topics

- [游戏串流延迟补偿概述](/zh-CN/build/core-features/common/game-streaming/game-streaming-latency-compensation-overview.md)
- [游戏串流延迟补偿深入探讨](/zh-CN/build/core-features/common/game-streaming/game-streaming-latency-compensation-deep-dive.md)
- [针对 XBOX 游戏串流优化您的游戏](/zh-CN/build/core-features/common/game-streaming/game-streaming-optimizing-your-game.md)
- [XBOX Cloud Gaming 触控与流式传输支持](/zh-CN/build/core-features/common/game-streaming/index.md)
- [游戏串流自定义分辨率最佳实践](/zh-CN/build/core-features/common/game-streaming/game-streaming-custom-resolution-best-practices.md)
