DirectCapture
DirectCapture est une fonctionnalité de la plateforme XBOX Game Streaming qui réduit automatiquement au minimum la latence du serveur pour les images compatibles. L’API XGameStreamingGetDisplayDetails vous permet d’interroger les exigences relatives aux images compatibles afin de vous assurer que votre jeu peut tirer parti de DirectCapture. Les exigences relatives à une image compatible sont expliquées ci-dessous. XBOX Game Streaming diffuse les jeux en continu en capturant (copiant) les images présentées, puis en encodant ces images pour la diffusion. Sans DirectCapture, les images sont converties à partir des paramètres de présentation d’entrée vers un format d’encodage au moyen du matériel d’affichage. L’image subit de 0 à 66 ms de latence dans une file d’attente de présentation (Present Queue), puis 8,3 ms de latence supplémentaire lors de son passage par la réécriture d’affichage (Display Writeback, DWB) pour la capture. Le temps passé dans la file d’attente de présentation dépend de facteurs comme la fréquence d’images du jeu et l’utilisation de la mise en mémoire tampon double ou triple. Le temps de réécriture d’affichage est fixé à 8,3 ms, car il est lié à une horloge HDMI. Cependant, aucun écran HDMI n’est connecté aux serveurs XBOX Game Streaming; DirectCapture court-circuite donc ce temps au moyen d’une implémentation logicielle plutôt que du matériel d’affichage. DirectCapture capture les images à encoder en environ 2 à 12 ms en éliminant notamment l’attente de la VSync et l’attente du basculement de la mise en mémoire tampon double ou triple. La latence est ainsi réduite jusqu’à 72 ms. Pour bénéficier d’une latence plus faible, un jeu doit effectuer la présentation avec des paramètres compatibles avec DirectCapture.- Modes de console pris en charge
- Mode de profilage Lockhart
- Résolutions de rendu de jeu prises en charge
- Toutes, y compris la résolution personnalisée
- Formats de chaîne d’échange pris en charge
- DXGI_FORMAT_R8G8B8A8_UNORM
- DXGI_FORMAT_B8G8R8A8_UNORM
- DXGI_FORMAT_R8G8B8A8_UNORM_SRGB
- DXGI_FORMAT_B8G8R8A8_UNORM_SRGB
- DXGI_FORMAT_R10G10B10A2_UNORM
- DXGI_FORMAT_R9G9B9E5_SHAREDEXP
- Espaces colorimétriques pris en charge
- DXGI_COLOR_SPACE_RGB_FULL_G22_NONE_P709
- Résolution de rendu du jeu : 3840x2160 pour les jeux XDK
- HDR
- Plans de présentation multiples
Vérifier que votre titre est diffusé avec DirectCapture
Vous pouvez vérifier que votre titre s’exécute avec DirectCapture en consultant les fichiers journaux de diffusion en continu.Recueillir les fichiers journaux
Pour recueillir les fichiers journaux de diffusion en continu :- Lancez le jeu
- Démarrez la diffusion en continu et connectez-vous avec l’une des applications de test de contenu (CTA)
- Jouez une courte partie de votre jeu
- Mettez fin au jeu
- Déconnectez la CTA
- Attendez 30 secondes que l’écriture des journaux soit terminée
- Copiez les journaux dans un répertoire local comme C:\temp
xbcp xt:\XStreamLogs\XStreamManagementService.etl c:\tempxbcp xt:\XStreamLogs\nanotrace.etl c:\temp
Afficher les messages de transition
- Ouvrez XStreamManagementService.etl avec Windows Performance Analyzer
- Cliquez avec le bouton droit sur System Activity dans le volet de gauche et choisissez « Add graph to Analysis View »
- Dans le volet inférieur, développez Microsoft.Xbox.StreamManagementService
- Recherchez le fournisseur Microsoft.Xbox.HostStreamingAgent et développez-le au besoin. S’il est absent, répétez les étapes de la section Recueillir les fichiers journaux ci-dessus.
- Sélectionnez la tâche DirectCaptureLog et, au besoin, développez Unknown Process
- Faites défiler vers la droite et recherchez les colonnes nommées 0_Message, 1_Message, etc. Chacune correspond à un message de DirectCapture, dans l’ordre. S’il y a plusieurs lignes, elles sont triées par heure.
- Consultez le tableau ci-dessous pour connaître la signification de chaque message. Ces messages vous indiqueront la séquence des transitions de DirectCapture, avec les raisons pour lesquelles DirectCapture a été désactivé, le cas échéant.
Informations détaillées sur les images
- Ouvrez nanotrace.etl avec Windows Performance Analyzer
- Accédez au fournisseur « Microsoft.Xbox.CloudStreaming » et sélectionnez la tâche « VideoFrameCaptureSourceChanged », puis développez le processus « ApplicationClipService.exe » pour afficher tous les événements « VideoFrameCaptureSourceChanged ».
- Vérifiez le champ « NewCaptureSource »
- Votre titre est diffusé avec la latence réduite de DirectCapture à partir du moment où la valeur est « DCap »
- Les valeurs « DWB » signifient que DirectCapture n’est pas utilisé et que le mécanisme de capture par défaut est utilisé. Cela se produit lorsque :
- Le titre produit une image incompatible avec DirectCapture
- Le système affiche une superposition par-dessus le titre (p. ex., une notification système)
Remarques
- L’historique de nanotrace.etl est limité; si vous ne voyez pas « VideoFrameCaptureSourceChanged », votre session a peut-être été trop longue. Pour valider, exécutez une session plus courte et vérifiez le fichier ETL.
- La prise en charge de DirectCapture sur les kits de développement est limitée au kit de développement XBOX Series X
- Pour en savoir plus, veuillez regarder XBOX Game Streaming: Reducing Latency and Optimizing for the Best Mobile Experiences.
