Skip to main content
La résolution personnalisée permet aux titres d’effectuer le rendu dans une vaste gamme de résolutions et de proportions lors de la diffusion en continu. Ce document présente les recommandations de Microsoft sur la meilleure façon de l’utiliser.

Choisir la meilleure résolution

Les joueurs diffusent des jeux en continu sur une grande variété d’appareils, notamment des téléphones, des tablettes, des PC et des téléviseurs. Ces appareils vont des écrans à faible résolution aux écrans à haute résolution, et des moniteurs ultra-larges 32:9 aux tablettes carrées en passant par les appareils en mode portrait. Les joueurs préfèrent que le jeu remplisse tout leur écran ou toute leur fenêtre, sans bandes noires. Dans la mesure du possible, l’image est aussi plus nette si elle correspond à l’affichage du client sans mise à l’échelle. Enfin, la résolution idéale pour un client peut dépendre du matériel et des conditions du réseau. L’API XGameStreamingGetDisplayDetails tient compte de tous ces facteurs et renvoie une largeur et une hauteur « préférées ». Dans des conditions idéales, la résolution « préférée » correspond à la résolution et aux proportions de l’écran du client, mais si cette résolution n’est pas possible, il s’agira de la résolution et des proportions les plus proches qui respectent les contraintes de la diffusion et les paramètres transmis à XGameStreamingGetDisplayDetails. Si votre jeu peut effectuer le rendu dans n’importe quelle résolution, il suffit d’appeler XGameStreamingSetResolution et de régler votre résolution de rendu sur la résolution préférée pour obtenir les meilleurs résultats. De nombreux jeux sont conçus pour un ensemble fixe de résolutions. Par exemple, votre jeu peut avoir une version PC qui prend en charge plusieurs résolutions, même si celles-ci sont normalement réduites à une seule sur XBOX. Dans ce cas, Microsoft recommande d’utiliser la résolution préférée comme guide pour choisir la résolution la plus proche prise en charge par votre jeu. Une bonne façon de procéder consiste à trouver la correspondance la plus proche des proportions préférées afin que le jeu remplisse le plus possible l’écran du client. Notez que la structure XGameStreamingDisplayDetails comprend les limites des résolutions que vous pouvez définir. Elle comprend aussi des indicateurs qui vous indiquent si la diffusion actuelle prend en charge les résolutions non standard et la mise à l’échelle de la présentation. Si le choix automatique de la résolution n’est pas réalisable, mais que la version PC de votre jeu comprend un sélecteur de résolution, vous pouvez aussi permettre aux joueurs de choisir des résolutions, pourvu que celles-ci respectent les contraintes de XGameStreamingDisplayDetails.

Écouter les mises à jour

Pendant une diffusion, la meilleure résolution peut changer pour plusieurs raisons :
  1. Sur les serveurs infonuagiques, les jeux sont lancés avant que les clients de diffusion en continu se connectent; la résolution préférée n’est donc pas immédiatement disponible.
  2. Un joueur qui utilise un téléphone ou une tablette peut faire pivoter son appareil entre les modes portrait et paysage.
  3. Un joueur sur PC peut redimensionner la fenêtre du client de diffusion en continu ou basculer en mode plein écran.
  4. Les conditions du réseau peuvent changer et nécessiter une résolution de diffusion différente.
Pour offrir la meilleure expérience de diffusion en continu lorsque des changements se produisent, utilisez XGameStreamingRegisterConnectionStateChanged pour détecter les nouveaux clients et XGameStreamingRegisterClientPropertiesChanged (en vérifiant la propriété XGameStreamingClientProperty::DisplayDetails) pour détecter les changements de la résolution préférée du client. Lorsque ces événements se produisent, changez la résolution pour qu’elle corresponde aux nouveaux XGameStreamingDisplayDetails.
Au minimum, il est très important de gérer l’événement de connexion initiale du client pour que les joueurs sur des serveurs infonuagiques obtiennent une résolution correspondante.

Limites relatives aux changements

Le changement de la résolution de diffusion est visible pour les joueurs sous la forme d’un bref clignotement (semblable à ce qui peut se produire lors du changement de résolution d’un jeu sur PC). Pour réduire les perturbations au minimum, Microsoft recommande de ne changer la résolution qu’en réponse aux événements ci-dessus. Outre l’expérience du joueur, il n’est pas recommandé de changer la résolution de diffusion plus d’une fois toutes les 200 ms, car l’encodeur vidéo pourrait ne pas avoir le temps de s’ajuster à la résolution du jeu, ce qui entraînerait un bref étirement visuel. Les événements ci-dessus ne se déclencheront pas plus d’une fois toutes les 200 ms.

Définir les paramètres de XGameStreamingGetDisplayDetails

L’API XGameStreamingGetDisplayDetails comprend des paramètres pour les contraintes de votre jeu. S’ils sont définis correctement, l’API calculera la meilleure résolution respectant ces contraintes. Les paramètres sont les suivants : maxSupportedPixels : il s’agit du nombre total de pixels que votre jeu ne doit pas dépasser. Une bonne règle empirique pour maintenir les performances consiste à multiplier la largeur et la hauteur dans lesquelles votre jeu effectuerait normalement le rendu sur le type d’appareil du système actuel. Par exemple, si votre jeu effectue normalement le rendu en 1440p sur XBOX Series S, alors sur ce type d’appareil, transmettez maxSupportedPixels=2560*1440=3686400. widestSupportedAspectRatio et tallestSupportedAspectRatio : il s’agit des limites de proportions de votre jeu. En les réglant sur les proportions les plus larges et les plus hautes que vous avez testées, vous vous assurez que votre jeu s’affiche bien sur tous les appareils.

Entrée tactile et résolution personnalisée

Le changement de résolution au moyen de XGameStreamingSetResolution modifie l’espace de coordonnées de l’entrée tactile pour qu’il corresponde aux nouvelles proportions. GameInputTouchState comprend des coordonnées tactiles dans une plage normalisée de 0 à 1. Lors d’un changement de résolution, cette plage reste la même, mais représente désormais votre nouvelle résolution. Par exemple, sans résolution personnalisée dans un jeu en 1920x1080, un toucher à (0.5, 0.5) représente (960, 540), mais si vous appelez XGameStreamingSetResolution pour passer à 1600x800, un toucher à (0.5, 0.5) représente (800, 400). Notez que les valeurs de résolution et de proportions dans GameInputTouchSensorInfo ne sont pas mises à jour lorsque vous changez de résolution; utilisez les valeurs que vous avez transmises à XGameStreamingSetResolution, et non GameInputTouchSensorInfo, pour calculer les emplacements des touchers.

Zone sécurisée

De nombreux appareils ont des écrans partiellement obstrués par des encoches, des coins arrondis et des barres de balayage superposées. XGameStreamingDisplayDetails comprend un rectangle safeArea qui décrit le rectangle non obstrué au centre de l’écran. Pour vous assurer que le contenu important est visible, traitez ce rectangle comme les limites de l’espace sécurisé du titre. Les zones situées à l’extérieur peuvent être visibles et doivent tout de même contenir du contenu, mais pas d’éléments d’interface utilisateur importants.

DirectCapture

La meilleure expérience vidéo de diffusion en continu est obtenue lorsque les jeux combinent la résolution personnalisée et DirectCapture, qui réduit la latence de diffusion. Pour savoir comment faire en sorte que votre jeu profite de DirectCapture, consultez Vue d’ensemble de DirectCapture.

Voir aussi

Vue d’ensemble de la résolution personnalisée Tests avec la résolution personnalisée (rubrique sous NDA) Vue d’ensemble de DirectCapture
Last modified on October 6, 2026