Skip to main content
使用本主题测量游戏的延迟。游戏串流延迟发生在存在网络延迟以及串流游戏所需的额外处理时。游戏串流有几个阶段(如图 1 所示)。 图 1. 显示 XBOX 游戏串流的不同阶段。

游戏引擎

游戏通常在接收用户输入和渲染结果帧之间有几个阶段(如图 1 所示)。根据游戏不同,这可能需要从个位数毫秒到数百毫秒不等。 虽然串流服务器和 XBOX 主机之间的游戏引擎延迟没有差别,但当它与其余串流延迟叠加时,用户可能会更明显地感受到其影响。优化游戏引擎延迟和帧率可减少用户在您游戏中体验到的延迟。

服务器

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

网络

XBOX 服务器将视频发送到串流客户端,并通过 Internet 接收返回的输入。该网络连接的延迟根据以下因素而变化。
  • 客户端设备与服务器之间的物理距离。
    • Microsoft 将服务器部署到世界各地的 Azure 数据中心,以尽可能减小距离。从他们的 XBOX 主机进行串流的用户可能距离更远。
  • 用户互联网连接的速度。
  • 用户的互联网连接类型和硬件。
    • 例如,2.4 GHz 无线网络连接的延迟通常高于 5 GHz 连接。某些互联网服务提供商 (ISP) 也有增加延迟的缓冲策略。
网络延迟会随时间变化,甚至逐个数据包变化。可变延迟可能由 ISP 策略、经过互联网硬件的路径以及物理变化引起。 例如,在移动车辆中通过手机游玩的用户会有可变延迟,并在切换到不同的信号塔时出现峰值。为此,XGameStreamingGetStreamAddedLatency 返回延迟的标准差(也称为 “抖动”)。 有关模拟串流网络延迟的更多信息,请参阅 在测试游戏时模拟延迟

客户端

当客户端接收到视频帧时,它必须解码该帧并通过自己的图形栈呈现它。 客户端的图形硬件决定该解码需要多长时间。此外,大多数客户端必须等待本地 vSync 计时器来呈现下一帧。在具有 60 Hz 屏幕的客户端上,这可能平均花费 8 ms。 与在连接到电视的 XBOX 主机上运行的游戏一样,串流客户端使用具有自己延迟的显示器。 显示延迟可以从只有几毫秒延迟的快速游戏显示器,到没有游戏模式的廉价移动显示器或电视花费数百毫秒不等。显示器并不总是报告延迟,因此 XBOX 游戏串流 API 不包括客户端显示延迟。 控制器和其他输入方法(如触控)也有延迟。控制器的蓝牙® 连接可能会增加明显的延迟。与显示延迟一样,输入延迟无法由客户端测量,因此 XBOX 游戏串流 API 不予表示。

参考 API 文档

另请参阅

游戏串流延迟补偿概述 游戏串流延迟补偿深入探讨 在测试游戏时模拟延迟 XGameStreaming(API 内容)
最后修改于 2026年8月24日