

XGameStreamingGetDisplayDetails ni XGameStreamingSetResolution
À l’inverse, l’image suivante illustre la façon dont le même jeu s’affiche sur différents appareils lorsque les API ci-dessus sont utilisées pour définir le rapport d’aspect sur 4:3. Notez la disparition des espaces lors du rendu sur la tablette.


XGameStreamingGetDisplayDetails et XGameStreamingSetResolution
XGameStreamingGetDisplayDetails renvoie les détails d’affichage du client spécifié. Cela permet de prendre des décisions éclairées, par exemple sur les rapports d’aspect personnalisés à utiliser pour le rendu ou sur la résolution à utiliser pour activer DirectCapture. DirectCapture a été conçu pour réduire au minimum la latence du serveur lorsque le titre présente une image compatible, ce qui élimine environ 16 à 72 millisecondes de latence. Cette réduction de latence varie d’un jeu à l’autre, car elle dépend de la sortie de rendu du jeu.
XGameStreamingSetResolution doit être utilisée une fois que le titre a choisi une résolution. Cette API définit la résolution du flux.
Les API exposent les exigences de DirectCapture et la résolution préférée du client afin que différents titres puissent les adopter.
Les exigences minimales et maximales ainsi que les autres règles de DirectCapture doivent être respectées.
Comment utiliser correctement les API
- Connecter un flux
-
Obtenir les détails de l’affichage
Pour obtenir les détails de l’affichage, les jeux peuvent appeler
XGameStreamingGetDisplayDetails, qui renvoie les détails d’affichage du client spécifié. -
Choisir une résolution
Cela dépend du jeu. Plusieurs options sont possibles, par exemple :
a. Utiliser
preferredWidth/preferredHeightcomme meilleure correspondance. b. UtiliserXGameStreamingDisplayDetailspour trouver la correspondance la plus proche parmi un ensemble préconfiguré de résolutions testées. c. Activer le sélecteur de résolution de la version PC du jeu pour permettre au joueur de choisir la résolution. Envisagez de limiter le choix aux résolutions comprises dans les limitesmaxWidth,maxHeightetmaxPixels. -
Définir la résolution du flux
Appelez
XGameStreamingSetResolutionpour remplacer la résolution du streaming par votre nouvelle résolution de rendu. Il est préférable de l’appeler en réponse à une action de l’utilisateur, telle que le début du flux, un redimensionnement, la rotation de l’appareil, etc. Notez que cette résolution n’a pas besoin de correspondre à preferredWidth/preferredHeight. Si elle ne correspond pas, le flux peut être mis à l’échelle pour s’adapter à l’écran, avec des bandes noires horizontales ou verticales ajoutées pour remplir l’espace restant.[!NOTE] Il est important de noter que la définition de la résolution du flux prend du temps, utilise des ressources limitées et a des effets visibles par le joueur ; cette API ne doit donc être appelée que rarement, par exemple lorsqu’un nouveau client se connecte ou modifie sa résolution préférée.
AppelerXGameStreamingSetResolutionplus d’une fois toutes les 200 ms provoque un bref étirement de l’image. Cette API n’est PAS sûre en temps réel. - Démarrer le rendu Le rendu de résolutions personnalisées doit être identique au rendu d’autres résolutions : définissez la taille de votre fenêtre et configurez votre backbuffer avec la nouvelle résolution.
