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

# Mesures de la qualité de service dans le GDK

> Mesures de la qualité de service dans le Microsoft Game Development Kit

Utilisez cette rubrique pour comprendre comment mesurer la qualité de service (QoS) dans un titre GDK. Pour les titres multijoueurs, la mesure de la latence QoS est importante. Pour les connexions pair à pair, les mesures de latence QoS peuvent servir à déterminer si une partie avec un autre client est réalisable. Pour les connexions client/serveur, les mesures de latence QoS peuvent servir à déterminer le meilleur emplacement de centre de données pour le jeu.

Pour les titres ERA XBOX One, les sockets sécurisés incluaient des API QoS pour les mesures de latence et de bande passante. Les titres GDK peuvent obtenir la même fonctionnalité, comme décrit dans les sections suivantes.

## Pair à pair

Les titres qui utilisent la communication pair à pair peuvent utiliser une implémentation QoS personnalisée dans le code du titre, le moteur de jeu ou l'intergiciel.

Pour toutes les implémentations, les titres doivent s'assurer que les directives suivantes sont respectées.

* Meilleures pratiques de communication sécurisée.
  Les titres doivent suivre la meilleure pratique consistant à sécuriser toutes les communications réseau, quel qu'en soit le contenu. Cela doit aussi s'appliquer aux sondes QoS UDP pair à pair. Ces sondes doivent être effectuées au moyen d'une connexion à protocole sécurisé. Pour plus d'informations sur les meilleures pratiques relatives aux protocoles sécurisés, consultez [Communication sécurisée du maillage de jeu pour les titres du Microsoft Game Development Kit (rubrique sous NDA)](https://learn.microsoft.com/gaming/gdk/docs/gdk-dev/game-principles/security/communication-security/communication-security-impl/gc-secure-game-mesh-impl).
* Taille des paquets UDP (User Datagram Protocol).
  Pour la communication UDP, les titres doivent veiller à ne pas dépasser l'unité de transmission maximale (MTU) de la plateforme. La charge utile UDP maximale par défaut par paquet est de 1 384 octets pour les titres du Microsoft Game Development Kit (GDK) sur les consoles XBOX et Windows 10. Les paquets qui dépassent la MTU risquent d'être fragmentés, ce qui peut entraîner une latence supplémentaire ou des pertes de paquets.
* Correspondance du protocole et du canal de communication.
  La QoS pair à pair doit toujours être effectuée au moyen du même canal de communication et du même protocole que ceux utilisés pour le trafic de jeu. Cela garantit que toutes les mesures reflètent le comportement du trafic de jeu, y compris les délais et la bande passante.
* Comportement QoS de la navigation dans les sessions.
  Les titres qui utilisent la QoS dans le cadre de listes de navigation de sessions peuvent accidentellement provoquer une inondation QoS des hôtes populaires. Cela se produit lorsque la liste de navigation des sessions est identique pour tous les utilisateurs et comprend des tests QoS automatiques. Dans ce scénario, tous les utilisateurs qui consultent une liste de navigation de sessions effectueront des tests QoS sur les premiers hôtes de la liste. Cela peut entraîner une charge importante et potentiellement inonder un hôte ou un serveur. Les titres sont encouragés à rendre partiellement aléatoires les listes de navigation de sessions pour atténuer ce problème.
* Autre utilisation de la bande passante par le titre.
  Toute mesure QoS est affectée par d'autres comportements réseau locaux ou distants. Les titres ne peuvent pas influer sur le comportement du trafic des autres plateformes ou sous-réseaux. Toutefois, il reste possible de contrôler le trafic interne du titre. Les titres doivent s'en assurer et réduire au minimum les téléchargements du titre ou toute autre utilisation du réseau lors des mesures QoS. Il en va de même pour plusieurs mesures QoS en parallèle.

## Client/serveur

Les titres qui utilisent la communication client/serveur peuvent utiliser une implémentation QoS personnalisée dans le code du titre, le moteur de jeu ou l'intergiciel. Contrairement aux mesures QoS pair à pair, l'objectif habituel des mesures QoS client/serveur est de déterminer la latence vers un centre de données précis. Les titres dans ce scénario doivent s'assurer de respecter les mêmes directives que pour les mesures QoS pair à pair.

Les titres qui utilisent des serveurs multijoueurs Azure PlayFab doivent toujours utiliser les API fournies pour les mesures QoS. Pour plus d'informations, consultez [Utilisation des balises QoS (qualité de service) pour mesurer la latence des joueurs vers Azure](/fr-CA/services/playfab/multiplayer/servers/using-qos-beacons-to-measure-player-latency-to-azure).

## Considérations relatives aux métriques QoS

Les deux métriques QoS les plus courantes qui déterminent la qualité de la connexion sont la *latence* des paquets et la *bande passante* disponible du lien.

* Test de latence.
  La latence est généralement testée paquet par paquet entre deux points de terminaison. La meilleure pratique consiste à envoyer un petit nombre de paquets d'une taille inférieure à la MTU locale vers un point de terminaison distant, où le paquet est renvoyé à l'appareil local. Cela détermine le temps d'aller-retour d'un paquet. Pour la mesure, il faut calculer la moyenne de plusieurs paquets. La mesure de la latence peut être effectuée rapidement.

* Test de bande passante.
  La bande passante est généralement testée en envoyant de grands volumes de données à une fréquence croissante vers un autre point de terminaison afin de saturer le lien local. La bande passante du lien peut être déduite de l'état de la mémoire tampon locale d'envoi ou de réception. Une utilisation croissante de la mémoire tampon indique que le lien est saturé. Les mesures de bande passante exigent des tests plus longs et peuvent nuire à la qualité du lien local.

La latence et la bande passante sont généralement étroitement liées. Une bande passante limitée entraîne une latence plus élevée des paquets, car ceux-ci sont retenus localement lorsque le réseau est congestionné. Une faible latence indique davantage de bande passante disponible, car elle signifie que les paquets ne sont pas retenus localement. Par conséquent, les titres ne doivent effectuer que des mesures de latence aux fins de la QoS du trafic de jeu. Les tests de bande passante ne sont généralement pas nécessaires pour le trafic de jeu.

## Test de la QoS

Les trousses de développement XBOX One peuvent exécuter des simulations réseau pour simuler une bande passante limitée, des pertes de paquets et de la latence. Nous recommandons fortement cette fonctionnalité pour tester les implémentations QoS personnalisées et pour les tests de bout en bout de toutes les fonctionnalités QoS. Pour plus d'informations, consultez [Contrainte réseau XBOX One](/fr-CA/build/console-features/networking/tools/netstress-networking).

## Voir aussi

[Windows Sockets 2 (Winsock)](https://learn.microsoft.com/windows/desktop/WinSock/windows-sockets-start-page-2)

[PlayFab Party](/fr-CA/build/console-features/networking/game-mesh/playfab-party-intro-networking)

[Utilisation des balises QoS (qualité de service) pour mesurer la latence des joueurs vers Azure](/fr-CA/services/playfab/multiplayer/servers/using-qos-beacons-to-measure-player-latency-to-azure)


## Related topics

- [Guide BVT de certification pour console](/fr/publishing/game-publishing/concepts/certification/certification-console-bvt-guide.md)
- [XR003 Qualité du titre pour la soumission](/fr-CA/publishing/certification/fma/xr-003.md)
- [XR-003 Qualité du titre pour la soumission](/fr-CA/publishing/certification/xr/xr-003.md)
- [XBOX Rapid Updates](/fr-CA/publishing/game-publishing/concepts/certification/xbox-rapid-updates.md)
- [Exigences de sécurité pour les titulaires de licence du GDK](/fr-CA/home/onboarding-access/security-requirements.md)
