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

# Información general de DirectCapture

> DirectCapture reduce la latencia del servidor de XBOX Game Streaming hasta en 72 ms capturando fotogramas compatibles por software en lugar de mediante el hardware de pantalla.

## DirectCapture

DirectCapture es una característica de la plataforma XBOX Game Streaming que minimiza automáticamente la latencia del servidor para los fotogramas compatibles. La API [XGameStreamingGetDisplayDetails](/reference/system/xgamestreaming/functions/xgamestreaminggetdisplaydetails) te permite consultar los requisitos de los fotogramas compatibles para asegurarte de que tu juego pueda aprovechar DirectCapture. Los requisitos de un fotograma compatible se explican a continuación.

XBOX Game Streaming transmite juegos capturando (copiando) los fotogramas presentados y codificándolos después para la transmisión. Sin DirectCapture, los fotogramas se convierten desde los parámetros de presentación de entrada a un formato para la codificación usando el hardware de pantalla. El fotograma tiene de 0 a 66 ms de latencia en una cola de presentación (Present Queue) y, a continuación, el fotograma tiene 8,3 ms más de latencia al pasar por Display Writeback (DWB) para capturar el fotograma. El tiempo que pasa en la cola de presentación depende de factores como la velocidad de fotogramas del juego y de si se usa doble o triple búfer. El tiempo de Display Writeback de 8,3 ms es fijo porque está vinculado a un reloj HDMI.

Sin embargo, no hay ninguna pantalla HDMI conectada a los servidores de XBOX Game Streaming, por lo que DirectCapture ahorra este tiempo con una implementación por software en lugar de usar el hardware de pantalla. DirectCapture captura los fotogramas para su codificación en unos 2 a 12 ms al eliminar cosas como la espera de VSync y la espera del cambio del doble o triple búfer. Esto reduce la latencia hasta en 72 ms.

Para obtener una latencia menor, un juego debe presentar con parámetros compatibles con DirectCapture.

* Modos de consola compatibles
  * Modo de generación de perfiles de Lockhart
* Resoluciones de renderizado de juego compatibles
  * Cualquiera, incluida la [resolución personalizada](/build/core-features/common/game-streaming/game-streaming-custom-resolution-overview)
* Formatos de cadena de intercambio compatibles
  * 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
* Espacios de color compatibles
  * DXGI\_COLOR\_SPACE\_RGB\_FULL\_G22\_NONE\_P709

Los parámetros de presentación no indicados anteriormente no son compatibles actualmente con DirectCapture. Por ejemplo, no se admiten los siguientes:

* Resolución de renderizado del juego: 3840x2160 para juegos XDK
* HDR
* Varios planos de presentación

[XGameStreamingGetDisplayDetails](/reference/system/xgamestreaming/functions/xgamestreaminggetdisplaydetails) está disponible para ayudar a determinar qué presentar para ser compatible con DirectCapture, y está previsto publicar compatibilidad con PIX en el futuro.

## Validar que tu título transmite con DirectCapture

Puedes validar que tu título se ejecuta con DirectCapture comprobando los archivos de registro de la transmisión.

### Recopilar archivos de registro

Para recopilar los archivos de registro de la transmisión:

1. Empieza a ejecutar el juego
2. Inicia la transmisión y conéctate con una de las Content Test Apps (CTA)
3. Juega una sección breve de tu juego
4. Termina el juego
5. Desconecta la CTA
6. Espera 30 segundos para que se terminen de escribir los registros
7. Copia los registros a un directorio local, como C:\temp
   1. `xbcp xt:\XStreamLogs\XStreamManagementService.etl c:\temp`
   2. `xbcp xt:\XStreamLogs\nanotrace.etl c:\temp`

### Ver los mensajes de transición

1. Abre XStreamManagementService.etl con [Windows Performance Analyzer](https://apps.microsoft.com/store/detail/windows-performance-analyzer/9N0W1B2BXGNZ)
2. Haz clic con el botón derecho en System Activity en el panel izquierdo y elige "Add graph to Analysis View"
3. En el panel inferior, expande Microsoft.Xbox.StreamManagementService
4. Busca el proveedor Microsoft.Xbox.HostStreamingAgent y expándelo si es necesario. Si falta, repite los pasos anteriores de recopilación de archivos de registro.
5. Selecciona la tarea DirectCaptureLog y, si es necesario, expande el proceso Unknown
6. Desplázate a la derecha y busca las columnas llamadas 0\_Message, 1\_Message, etc. Cada una es un mensaje de DirectCapture en secuencia. Si hay varias filas, están ordenadas por hora.
7. Consulta la tabla siguiente para conocer el significado de cada mensaje. Estos mensajes te darán la secuencia de transiciones de DirectCapture con los motivos de los casos en los que DirectCapture está deshabilitado.

| Identificador del mensaje | Mensaje                                                                                                                                                                                                                 |
| ------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 1                         | Cambio a DirectCapture                                                                                                                                                                                                  |
| 2                         | Cambio a DWB (DirectCapture está deshabilitado)                                                                                                                                                                         |
| 3                         | Configuración de planos de renderizado no compatible. Esto puede deberse a planos de renderizado del propio juego o a que el sistema renderiza una superposición sobre el título (p. ej., una notificación del sistema) |
| 4                         | Formato de píxel no compatible. Consulta el valor PixelFormat asociado para conocer el formato de píxel del juego en ese momento                                                                                        |
| 5                         | Modo de mosaico no compatible. Consulta el valor TileMode asociado para conocer el modo de mosaico del juego en ese momento                                                                                             |
| 6                         | Resolución de juego no compatible. Consulta los valores GameResolutionWidth y GameResolutionHeight asociados para ver a qué resolución estaba renderizando el juego en ese momento.                                     |
| 8                         | Hay un fotograma que no pertenece al juego en pantalla                                                                                                                                                                  |
| 12                        | DirectCapture no habilitado (probablemente debido a un modo de consola no compatible)                                                                                                                                   |
| 18                        | Tamaño de rectángulo de origen no compatible                                                                                                                                                                            |
| 19                        | Marcas de parámetros de Present no compatibles                                                                                                                                                                          |
| 21                        | Tamaño de rectángulo de destino no compatible                                                                                                                                                                           |

### Información detallada de fotogramas

1. Abre nanotrace.etl con Windows Performance Analyzer
2. Ve al proveedor "Microsoft.Xbox.CloudStreaming" y selecciona la tarea "VideoFrameCaptureSourceChanged"; después, expande el proceso "ApplicationClipService.exe" para ver todos los eventos "VideoFrameCaptureSourceChanged".
3. Comprueba el campo "NewCaptureSource"
   * Tu título está transmitiendo con la latencia menor de DirectCapture a partir del momento en que el valor es "DCap"
   * Los valores "DWB" significan que no se usa DirectCapture y se usa el mecanismo de captura predeterminado. Esto ocurrirá cuando:
     * El título genera un fotograma incompatible con DirectCapture
     * El sistema renderiza una superposición sobre el título (p. ej., una notificación del sistema)

## Notas

* nanotrace.etl tiene un historial limitado, por lo que si no ves "VideoFrameCaptureSourceChanged", es posible que tu sesión haya sido demasiado larga. Para validarlo, ejecuta una sesión más corta y comprueba el ETL.
* La compatibilidad con DirectCapture en kits de desarrollo se limita al kit de desarrollo XBOX Series X
* Para obtener más información, mira [XBOX Game Streaming: Reducing Latency and Optimizing for the Best Mobile Experiences](https://www.youtube.com/watch?v=-WIXftoHCl4).

## Consulte también

[Información general de la resolución personalizada](/build/core-features/common/game-streaming/game-streaming-custom-resolution-overview)


## Related topics

- [Procedimientos recomendados para la resolución personalizada en Game Streaming](/es/build/core-features/common/game-streaming/game-streaming-custom-resolution-best-practices.md)
- [Optimización de tu juego para XBOX Game Streaming](/es/build/core-features/common/game-streaming/game-streaming-optimizing-your-game.md)
- [Información general de DirectStorage](/es/build/console-features/storage/directstorage/directstorage-overview.md)
- [Información general de la resolución personalizada](/es/build/core-features/common/game-streaming/game-streaming-custom-resolution-overview.md)
- [Información general de Multiplayer Session Directory](/es/services/xbox-services/multiplayer/mpsd/live-mpsd-overview.md)
