Skip to main content
使用本主題來了解如何在 GDK 遊戲中測量服務品質 (QoS)。對於多人遊戲而言,測量 QoS 延遲非常重要。對於點對點連線,QoS 延遲測量可用來判斷與另一個用戶端進行遊戲是否可行。對於用戶端/伺服器連線,QoS 延遲測量可用來判斷最適合進行遊戲的資料中心位置。 對於 XBOX One ERA 遊戲,安全通訊端包含用於延遲和頻寬測量的 QoS API。GDK 遊戲可以達成相同的功能,如下列各節所述。

點對點

使用點對點通訊的遊戲,可以在遊戲程式碼、遊戲引擎或中介軟體中使用自訂 QoS 實作。 對於所有實作,遊戲都應確保符合下列指導方針。
  • 安全通訊最佳做法。 無論內容為何,遊戲都應遵循保護所有網路通訊的最佳做法。這也應適用於點對點 UDP QoS 探查。這些探查應透過安全通訊協定連線執行。如需安全通訊協定最佳做法的詳細資訊,請參閱 Microsoft Game Development Kit 遊戲的安全遊戲網狀通訊 (NDA 主題)。
  • 使用者資料包通訊協定 (UDP) 封包大小。 對於 UDP 通訊,遊戲應確保不超過平台的最大傳輸單位 (MTU) 上限。在 XBOX 主機和 Windows 10 上,Microsoft Game Development Kit (GDK) 遊戲每個封包的預設最大 UDP 承載為 1,384 位元組。超過 MTU 的封包很可能會被分割,這可能會導致額外的延遲或封包遺失。
  • 相符的通訊協定和通訊通道。 點對點 QoS 應一律透過與遊戲流量相同的通訊通道和通訊協定執行。這可確保所有測量都能反映遊戲流量的行為,包括延遲和頻寬。
  • 工作階段瀏覽 QoS 行為。 在工作階段瀏覽清單中使用 QoS 的遊戲,可能會意外對熱門主機造成 QoS 洪泛。當所有使用者的工作階段瀏覽清單完全相同且包含自動 QoS 測試時,就會發生此情況。在此情況下,所有檢視工作階段瀏覽清單的使用者,都會對清單中排名最前面的主機執行 QoS 測試。這可能導致沉重的負載,並可能使主機或伺服器遭到洪泛。建議遊戲將工作階段瀏覽清單部分隨機化,以減少此問題。
  • 遊戲的其他頻寬使用量。 任何 QoS 測量都會受到其他本機或遠端網路行為的影響。遊戲無法影響其他平台或子網路的流量行為。不過,仍然可以控制遊戲內部的流量。遊戲應確保在執行 QoS 測量時,將遊戲下載或其他網路使用量降至最低。這同樣適用於多個平行的 QoS 測量。

用戶端/伺服器

使用用戶端/伺服器通訊的遊戲,可以在遊戲程式碼、遊戲引擎或中介軟體中使用自訂 QoS 實作。與點對點 QoS 測量不同,用戶端/伺服器 QoS 測量的典型目標是判斷到特定資料中心的延遲。此情況下的遊戲應確保遵守與點對點 QoS 測量相同的指導方針。 使用 Azure PlayFab 多人遊戲伺服器的遊戲,應一律使用所提供的 API 進行 QoS 測量。如需詳細資訊,請參閱使用服務品質 (QoS) 信標測量玩家到 Azure 的延遲。

QoS 計量考量

決定連線品質的兩個最常見 QoS 計量是封包延遲和可用的連結頻寬。
  • 延遲測試。 延遲通常是在兩個端點之間以每個封包為基礎進行測試。最佳做法是將少量低於本機 MTU 大小的封包傳送至遠端端點,再由遠端端點將封包回傳至本機裝置。這可判斷封包的來回時間。進行測量時,應將多個封包加以平均。延遲測量可以快速執行。
  • 頻寬測試。 頻寬通常是透過以遞增的頻率將大量資料傳送至另一個端點來測試,以使本機連結飽和。連結頻寬可以根據本機傳送和/或接收緩衝區的狀態推斷。緩衝區使用量增加表示連結已飽和。頻寬測量需要較長的測試時間,而且可能會影響本機連結品質。
延遲和頻寬通常緊密相關。頻寬受限會導致較高的封包延遲,因為網路壅塞時封包會保留在本機。低延遲表示有較多的可用頻寬,因為這表示封包並未保留在本機。因此,遊戲應僅針對遊戲流量 QoS 的目的執行延遲測量。遊戲流量通常不需要頻寬測試。

QoS 測試

XBOX One 開發套件可以執行網路模擬,以模擬受限的頻寬、封包遺失和延遲。我們強烈建議使用此功能來測試自訂 QoS 實作,以及對所有 QoS 功能進行端對端測試。如需詳細資訊,請參閱 XBOX One 網路壓力。

另請參閱

Windows Sockets 2 (Winsock) PlayFab Party 使用服務品質 (QoS) 信標測量玩家到 Azure 的延遲
Last modified on October 6, 2026