Herramienta de captura de línea de comandosCommand-Line Capture Tool

DXCap.exe es una herramienta de línea de comandos para la captura y la reproducción de diagnóstico de gráficos.DXCap.exe is a command-line tool for graphics diagnostics capture and playback. Admite Direct3D 10 a través de Direct3D 12 en todos los niveles de características.It supports Direct3D 10 through Direct3D 12 across all feature levels.

SintaxisSyntax

DXCap.exe [-file filename] [-frame frames | -period periods | -manual] -c app [args...]  
DXCap.exe -p [filename] [-debug | -warp | -hw] [-config] [-rawmode]  
DXCap.exe -p [filename] -screenshot [-frame frames]  
DXCap.exe -p [filename] -toXML [xml_filename]  
DXCap.exe -v [-file filename] [-examine events] [-haltonfail | -exitonfail] [-showprogress]  
DXCap.exe -e [search_string]  
DXCap.exe -info  

ParámetrosParameters

-file filename-file filename
En el modo de captura (-c), filename especifica el nombre del archivo de registro de gráficos que se registra la información de gráficos en.Under capture mode (-c), filename specifies the name of the graphics log file that graphics information is recorded to. Si filename no se especifica, se registra información de gráficos en un archivo denominado <appname>-<date>-<time>.vsglog de forma predeterminada.If filename isn't specified, graphics information is recorded to a file named <appname>-<date>-<time>.vsglog by default.

En el modo de validación (-v), filename especifica el nombre del archivo de registro de gráficos que se validará.Under validation (-v) mode, filename specifies the name of the graphics log file to be validated. Si filename no se especifica, se vuelve a usar el registro de gráficos que se validó por última vez.If filename isn't specified, the graphics log that was last validated is used again.

-frame frames-frame frames
En el modo de captura, frames especifica los fotogramas que quiere capturar.Under capture mode, frames specifies the frames that you want to capture. El primer fotograma es 1.The first frame is 1. Puede especificar varios fotogramas con comas e intervalos.You can specify several frames by using commas and ranges. Por ejemplo, si frames es 2, 5, 7-9, 15, a continuación, los marcos 2, 5, 7, 8, 9, y 15 se capturan.For example, if frames is 2, 5, 7-9, 15, then frames 2, 5, 7, 8, 9, and 15 are captured.

Sugerencia

Use -frame manual para especificar que fotogramas se capturarán manualmente presionando la tecla Impr Pant.Use -frame manual to specify that frames will be captured manually by pressing the Print Screen key. Se pueden capturar fotogramas cuando se inicia la aplicación. Para detener la captura de fotogramas, vuelva a la interfaz de la línea de comandos y presione ENTRAR.Frames can be captured when the app starts; to stop capturing frames, return to the command line interface and press enter.

-period periods-period periods
En el modo de captura, periods especifica los intervalos de tiempo, en segundos, durante los cuales quiere capturar fotogramas.Under capture mode, periods specifies the ranges of time, in seconds, during which you want to capture frames. Puede especificar varios períodos con comas e intervalos.You can specify several periods by using commas and ranges. Por ejemplo si periods es 2.1-5, 7.0-9.3, fotogramas que se representan entre 2.1 y 5 segundos y entre7 y 9.3 segundos se capturan.For example if periods is 2.1-5, 7.0-9.3, then frames that are rendered between 2.1 and 5 seconds, and between7 and 9.3 seconds are captured.

-c app [args...]-c app [args...]
Modo de captura.Capture mode. En el modo de captura, app especifica el nombre de la aplicación de cuyos gráficos quiere capturar información. args... especifica los parámetros de línea de comandos adicionales para esa aplicación.Under capture mode, app specifies the name of the app that you want to capture graphics information from; args... specifies additional command-line parameters to that app.

-p [filename]-p [filename]
Modo de reproducción (-p).Playback mode (-p). En el modo de reproducción, filename especifica el nombre del archivo de registro de gráficos que se reproducirá.Under playback mode, filename specifies the name of the graphics log file to be played back. Si filename no se especifica, se vuelve a usar el registro de gráficos por última vez reproducido.If filename isn't specified, the graphics log that was last played back is used again.

-debug
En el modo de reproducción, -debug especifica que la reproducción se debe reproducir con la capa de depuración de Direct3D habilitada.Under playback mode, -debug specifies that playback should be played with the Direct3D debug layer enabled.

-warp
En el modo de reproducción, -warp especifica que la reproducción se debe reproducir mediante el representador de software WARP.Under playback mode, -warp specifies that playback should be played using the WARP software renderer.

-hw
En el modo de reproducción, -hw especifica que la reproducción se debe reproducir con hardware de GPU.Under playback mode, -hw specifies that playback should be played using GPU hardware.

-config
En el modo de reproducción, -config muestra toda la información sobre la máquina que se usó para capturar el archivo de registro de gráficos.Under playback mode, -config displays any information about the machine that was used to capture the graphics log file.

-rawmode
En el modo de reproducción, -rawmode especifica que la reproducción debe realizarse sin modificar los eventos registrados.Under playback mode, -rawmode specifies that playback should be performed without modification to the recorded events. Con un funcionamiento normal, es posible que el modo de reproducción realice pequeños cambios en la reproducción para simplificar la depuración y agilizar la reproducción.Under normal operation, playback mode might make minor changes to playback to simplify debugging and speed up playback. Por ejemplo, puede que simule la salida de la cadena de intercambio, en lugar de ejecutar los comandos de la cadena de intercambio.For example, it may simulate swap chain output rather than executing swap chain commands. Normalmente esta reproducción no es un problema, pero puede necesitar la reproducción se realice de manera más fiel al evento registrado.Usually this playback is not a problem, but you might need playback to occur in a way that's more faithful to the recorded event. Por ejemplo, puede usar esta opción para restaurar el comportamiento de representación de pantalla completa en una aplicación que se capturó mientras se ejecuta en modo de pantalla completa.For example, you can use this option to restore full-screen rendering behavior to an app that was captured while running in full-screen mode.

-toXML [xml_filename]-toXML [xml_filename]
En el modo de reproducción, xml_filename especifica el nombre del archivo donde se escribe una representación XML de la reproducción.Under playback mode, xml_filename specifies the name of the file where an XML representation of playback is written to. Si no se especifica xml_filename, la representación XML se escribe en un archivo con el mismo nombre que el del archivo que se reproduce, pero con la extensión .xml.If xml_filename is not specified, the XML representation is written to a file named the same as the file being played back, but given an .xml extension.

-v
Modo de validación.Validation mode. En el modo de validación, los fotogramas capturados se reproducen en hardware y en WARP y sus resultados se comparan con una función de comparación de imágenes.Under validation mode, captured frames are played back on both hardware and WARP, and their results are compared using an image comparison function. Puede utilizar esta característica para identificar rápidamente problemas de controladores que afecten a la representación.You can use this feature to quickly identify driver issues that affect your rendering.

-examine events-examine events
En el modo de validación, events especifica el conjunto de eventos de gráficos cuyos resultados inmediatos se comparan.Under validation mode, events specifies the set of graphics events whose immediate results are compared. Por ejemplo, -examine present,draw,copy,clear limita la comparación para que solo los eventos que pertenecen a esas categorías.For example, -examine present,draw,copy,clear limits the comparison to only the events belonging to those categories.

Sugerencia

Se recomienda empezar por -examine present,draw,copy,clear porque se revela la mayoría de los problemas pero significativamente más rápido que un conjunto más amplio de eventos.We recommend starting with -examine present,draw,copy,clear because this will reveal most issues but take significantly less time than a more extensive set of events. Si es necesario, puede especificar un conjunto de eventos mayor o distinto para validar los eventos y mostrar otros tipos de problemas.If necessary, you can specify a larger or different set of events to validate those events and reveal other kinds of issues.

-haltonfail
En el modo de validación, -haltonfail detiene la validación cuando se detectan las diferencias entre el hardware y el representador WARP.Under validation mode, -haltonfail halts validation when differences are detected between the hardware and WARP renderer. La validación se reanuda al presionar una tecla.Validation resumes after a key is pressed.

-exitonfail
En el modo de validación, -exitonfail sale validación inmediatamente cuando se detectan las diferencias entre el hardware y el representador WARP.Under validation mode, -exitonfail exits validation immediately when differences are detected between the hardware and WARP renderer. Cuando se cierra el programa de esta manera, devuelve 0 al entorno; de lo contrario, devuelve 1.When the program exits in this way, it returns 0 to the environment; otherwise it returns 1.

-showprogress
En el modo de validación, -showprogress muestra información de progreso de la sesión de validación.Under validation mode, -showprogress displays progress information about the validation session. El progreso de WARP se muestra a la izquierda y el progreso de hardware se muestra a la derecha.WARP progress is displayed on the left; hardware progress is displayed on the right.

-e search_string-e search_string
Enumera las aplicaciones UWP que se instalan.Enumerates the UWP apps that are installed. Puede usar esta información para realizar capturas de línea de comandos con aplicaciones para UWP.You can use this information to perform command-line captures with UWP apps.

-info
Muestra información sobre las DLL de captura y de máquina.Displays information about the machine and capture DLLs.

ComentariosRemarks

DXCap.exe funciona en tres modos:DXCap.exe operates in three modes:

Modo de captura (-c)Capture mode (-c)
Capturar información de gráficos de una aplicación en ejecución y registrarla en un archivo de registro de gráficos.Capture graphics information from a running app and record it to a graphics log file. Las funcionalidades de captura y el formato de archivo son idénticos a los de Visual Studio.The capture capabilities and file format are identical to those of Visual Studio.

Modo de reproducción (-p)Playback mode (-p)
Reproducción ha capturado previamente los eventos de gráficos desde un archivo de registro de gráficos existente.Playback previously captured graphics events from an existing graphics log file. De forma predeterminada, la reproducción se realiza en una ventana, aunque el archivo de registro de gráficos se capturara desde una aplicación de pantalla completa.By default, playback occurs in a window, even when the graphics log file was captured from a fullscreen app. Se produce la reproducción en la pantalla completa solo cuando el registro de gráficos se capturó archivo desde una aplicación de pantalla completa y -rawmode se especifica.Playback occurs in full-screen only when the graphics log file was captured from a fullscreen app and -rawmode is specified.

Modo de validación (-v)Validation mode (-v)
Valida el comportamiento de representación reproduciendo los fotogramas capturados en hardware y en WARP y, luego, comparando los resultados con una función de comparación de imágenes.Validates rendering behavior by playing back captured frames on both hardware and WARP, then comparing their results by using an image comparison function. Puede utilizar esta característica para identificar rápidamente problemas de controladores que afecten a la representación.You can use this feature to quickly identify driver issues that affect your rendering.

Además de estos modos, dxcap.exe realiza otras dos funciones que no capturan ni reproducen información de gráficos.In addition to these modes, dxcap.exe performs two other functions that do not perform capture or playback of graphics information.

Función de enumeración (-e)Enumeration function (-e)
Muestra detalles acerca de las aplicaciones UWP que se instalan en el equipo.Displays details about the UWP apps that are installed on the machine. Estos detalles incluyen el nombre del paquete y el appid que identifican el archivo ejecutable en una aplicación para UWP.These details include the package name and appid that identify the executable file in a UWP app. Para capturar información de gráficos desde una aplicación de la Tienda Windows con DXCap.exe, utilice el nombre del paquete y el appid en lugar del nombre del archivo ejecutable que se usa al capturar una aplicación de escritorio.To capture graphics information from a windows store app using DXCap.exe, use the package name and appid instead of the executable filename that's used when you capture a desktop app.

(Función de información-info)Info function (-info)
Muestra detalles sobre las DLL de captura y de máquina.Displays details about the machine and capture DLLs.

EjemplosExamples

Captura de información de gráficos desde una aplicación de escritorioCapture graphics information from a desktop app

Use -c para especificar la aplicación desde el que desea capturar información de gráficos.Use -c to specify the app from which you want to capture graphics information.

DXCap.exe -c BasicHLSL11.exe  

De forma predeterminada, la información de gráficos se registra en un archivo denominado <appname>-<date>-<time>.vsglog.By default, graphics information is recorded to a file named <appname>-<date>-<time>.vsglog. Use -file para especificar un archivo diferente donde quiera registrar.Use -file to specify a different file to record to.

DXCap.exe -file regression_test_12.vsglog -c BasicHLSL11.exe  

Especifique los parámetros de línea de comandos adicionales para la aplicación de la que está realizando la captura incluyéndolos después del nombre de archivo de la aplicación.Specify additional command-line parameters to the app that you're capturing from by including them after the app's filename.

DXCap.exe -c "C:\Program Files\Internet Explorer\iexplorer.exe" "www.fishgl.com"  

El comando en el ejemplo anterior captura la información de gráficos desde la versión de escritorio de Internet Explorer durante la visualización de la página Web ubicada en www.fishgl.com que usa la API WebGL para representar contenido 3D.The command in the example above captures graphics information from the desktop version of Internet Explorer while viewing the webpage located at www.fishgl.com which uses the WebGL API to render 3-D content.

Nota

Dado que se pasan los argumentos de línea de comandos que aparecen después de la aplicación, debe especificar los argumentos destinados a DXCap.exe antes de usar el -c opción.Because command line arguments that appear after the app are passed to it, you must specify the arguments intended for DXCap.exe before using the -c option.

Capturar información gráfica desde una aplicación para UWP.Capture graphics information from a UWP app.

Puede capturar información de gráficos desde una aplicación para UWP.You can capture graphics information from a UWP app.

DXCap.exe -c Microsof.BingMaps_2.1.2914.1734_x64__8wekyb3d8bbwe,AppexMaps  

Usar DXCap.exe para capturar desde una aplicación para UWP es parecido a usarlo para capturar desde una aplicación de escritorio de Windows, pero en su lugar que identifica una aplicación de escritorio por su nombre de archivo, identifica una aplicación para UWP por su nombre de paquete y el nombre o Id. de lo ejecutable dentro del paquete que quiere captura de.Using DXCap.exe to capture from a UWP app is similar to using it to capture from a Windows desktop app, but instead identifying a desktop app by its filename, you identify a UWP app by its package name and the name or ID of the executable inside that package that you want to capture from. Para que sea más fácil de obtener información sobre cómo identificar las aplicaciones UWP que se instalan en el equipo, use el -e opción con DXCap.exe para enumerarlas:To make it easier to find out how to identify the UWP apps that are installed on your machine, use the -e option with DXCap.exe to enumerate them:

DXCap.exe -e  

Puede proporcionar una cadena de búsqueda opcional para buscar más fácilmente la aplicación que está buscando.You can provide an optional search string to help find the app that you're looking for. Cuando se proporciona la cadena de búsqueda, DXCap.exe enumera las aplicaciones UWP cuyo nombre de paquete, nombre de la aplicación o Id. de aplicación coincide con la cadena de búsqueda.When the search string is provided, DXCap.exe enumerates the UWP apps whose package name, app name or app IDs match the search string. La búsqueda no distingue entre mayúsculas y minúsculas.The search is case-insensitive.

DXCap.exe -e map  

El comando anterior enumera las aplicaciones para UWP que coinciden con "map"; Este es el resultado:The command above enumerates UWP apps that match "map"; here is the output:

Paquete "Microsoft.BingMaps":Package "Microsoft.BingMaps":
InstallDirectory: C:\Program Files\WindowsApps\Microsoft.BingMaps_2.1.2914.1734_x64__8wekyb3d8bbweInstallDirectory : C:\Program Files\WindowsApps\Microsoft.BingMaps_2.1.2914.1734_x64__8wekyb3d8bbwe
FullName: Microsoft.BingMaps_2.1.2914.1734_x64__8wekyb3d8bbweFullName : Microsoft.BingMaps_2.1.2914.1734_x64__8wekyb3d8bbwe
UserSID: S-1-5-21-2127521184-1604012920-1887927527-5603533UserSID : S-1-5-21-2127521184-1604012920-1887927527-5603533
Nombre: Microsoft.BingMapsName : Microsoft.BingMaps
Publicador: CN = Microsoft Corporation, O = Microsoft Corporation, L = Redmond, S = Washington, C = USPublisher : CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US
Versión: 2.1.2914.1734Version : 2.1.2914.1734
Aplicaciones que se pueda iniciar:Launchable Applications:
Id.: AppexMapsId: AppexMaps
Exe: C:\Program Files\WindowsApps\Microsoft.BingMaps_2.1.2914.1734_x64__8wekyb3d8bbwe\Map.exeExe: C:\Program Files\WindowsApps\Microsoft.BingMaps_2.1.2914.1734_x64__8wekyb3d8bbwe\Map.exe
IsWWA: NIsWWA: No
** AppSpec (para iniciar): DXCap.exe - c Microsoft.BingMaps_2.1.2914.1734_x64__8wekyb3d8bbwe,AppexMaps* la última línea de salida para cada aplicación enumerada muestra el comando puede utilizar para capturar información de gráficos.AppSpec (to launch): **DXCap.exe -c Microsoft.BingMaps_2.1.2914.1734_x64__8wekyb3d8bbwe,AppexMaps** The last line of output for each enumerated app displays the command you can use to capture graphics information from it.

Capturar fotogramas específicos o fotogramas entre momentos específicos.Capture specific frames or frames between specific times.

Use -frame para especificar los fotogramas que desee capturar con comas e intervalos:Use -frame to specify the frames that you want to capture using commas and ranges:

DXCap.exe -frame 2,5,7-9,15 -c SimpleBezier11.exe  

O bien, use -period para especificar un conjunto de intervalos de tiempo durante el que se va a capturar fotogramas.Or, use -period to specify a set of time ranges during which to capture frames. Los intervalos de tiempo se especifican en segundos y se pueden especificar varios intervalos:Time ranges are specified in seconds, and multiple ranges can be specified:

DXCap.exe -period 2.1-5, 7.0-9.3 -c SimpleBezier11.exe  

Capturar fotogramas de forma interactiva.Capture frames interactively.

Use -manual para capturar fotogramas de forma interactiva.Use -manual to capture frames interactively. Presione la tecla ENTRAR para iniciar la captura y vuelva a presionar la tecla ENTRAR para detenerla.Press the Enter key to start capture, and press the Enter key again to stop.

DXCap.exe -manual -c SimpleBezier11.exe  

Reproducir un archivo de registro de gráficosPlay back a graphic log file

Use -p para reproducir un archivo de registro de gráficos capturada previamente.Use -p to play back a previously captured graphics log file.

DXCap.exe -p regression_test_12.vsglog  

Si quiere reproducir el último registro de gráficos que se capturó, omita el nombre de archivo.Leave out the filename to play back the graphics log that was captured most recently.

DXCap.exe -p  

Reproducción en modo sin procesarPlay back in raw mode

Use -rawmode para reproducir los comandos capturados exactamente como se produjeron.Use -rawmode to play back captured commands exactly as they occurred. En el modo de reproducción normal, algunos comandos se emulan: por ejemplo, un archivo de registro de gráficos capturado a partir de una aplicación de pantalla completa se ejecuta en una ventana. Con el modo sin procesar habilitado, el mismo archivo tratará de reproducirse a pantalla completa.Under normal playback, certain commands are emulated, for example, a graphics log file captured from a full screen app will play back in a window; with raw mode enabled, the same file will attempt to play back in full screen.

DXCap.exe -p regression_test_12.vsglog -rawmode  

Reproducción con WARP o con un dispositivo de hardwarePlay back using WARP or a hardware device

Puede que quiera forzar la reproducción de un archivo de registro de gráficos capturado en un dispositivo de hardware para usar WARP, o forzar la reproducción de un registro capturado en WARP para usar un dispositivo de hardware.You might want to force play back of a graphics log file captured on a hardware device to use WARP, or force playback of a log captured on WARP to use a hardware device. Use -warp para reproducir con WARP.Use -warp to play back using WARP.

DXCap.exe -p regression_test_12.vsglog -warp  

Use -hw para reproducir con hardware.Use -hw to play back using hardware.

DXCap.exe -p regression_test_12.vsglog -hw  

Validación de un archivo de registro de gráficos con WARPValidate a graphics log file against WARP

En el modo de validación, el archivo de registro de gráficos se reproduce en hardware y en WARP y se comparan los resultados.Under validation mode, the graphics log file is played back on both hardware and WARP, and their results are compared. Así, es más fácil identificar los errores de representación provocados por el controlador.This can help you identify rendering errors that are caused by the driver. Use - v para validar el comportamiento correcto de hardware de gráficos con WARP.Use -v to validate correct behavior of graphics hardware against WARP.

DXCap.exe -v regression_test_12.vsglog  

Para reducir la cantidad de comparaciones, puede especificar un subconjunto de comandos de validación que quiera comparar, y los demás comandos se pasarán por alto.To reduce the amount of comparisons, you can specify a subset of commands for validation to compare and other commands will be ignored. Use - Examinar para especificar los comandos cuyos resultados desea comparar.Use -examine to specify the commands whose results you want to compare.

DXCap.exe -v regression_test_12.vsglog -examine present,draw,copy,clear  

Conversión de un archivo de registro de gráficos en archivos PNGConvert a Graphics Log file to PNGs

Para ver o analizar los fotogramas de un archivo de registro de gráficos, DXCap.exe puede guardar fotogramas capturados como archivos de imagen .png (Portable Network Graphics).To view or analyze frames from a graphics log file, DXCap.exe can save captured frames as .png (Portable Network Graphics) image files. Use -screenshot a en el modo de reproducción para generar los fotogramas capturados como archivos. png.Use -screenshot to under playback mode to output captured frames as .png files.

DXCap.exe -p BasicHLSL11.vsglog -screenshot  

Use -frame con -screenshot para especificar los fotogramas que desee para la salida.Use -frame with -screenshot to specify the frames that you want to output.

DXCap.exe -p BasicHLSL11.vsglog -screenshot -frame 5, 7-9  

Conversión de un archivo de registro de gráficos a XMLConvert a Graphics Log file to XML

Para procesar y analizar los registros de gráficos con herramientas conocidas, como FindStr o XSLT, DXCap.exe puede convertir un archivo de registro de gráficos a XML.To process and analyze graphics logs using familiar tools like FindStr or XSLT, DXCap.exe can convert a graphics log file to XML. Use -toXML en modo de reproducción para convertir el registro a XML en lugar de reproducirlo realizar una copia.Use -toXML under playback mode to convert the log to XML instead of playing it back.

DXCap.exe -p regression_test_12.vsglog -toXML  

De manera predeterminada, el XML resultante se escribe en un archivo con el mismo nombre que el del registro de gráficos, pero con la extensión .xml.By default, the XML output is written to a file with the same name as the graphics log, but which has been given a .xml extension. En el ejemplo anterior, el archivo XML se denominará regression_test_12.xml.In the example above, the XML file will be named regression_test_12.xml. Para asignar el archivo XML de un nombre diferente, especifíquelo después -toXML.To give the XML file a different name, specify it after -toXML.

DXCap.exe -p regression_test_12.vsglog -toXML temp.xml  

El archivo resultante contendrá XML con un aspecto similar a este:The resulting file will contain XML that looks similar to this:

<Moment value="67"/>  
<Method name="CreateDXGIFactory1" >  
    <Return type="HRESULT" value="S_OK" />  
    <Parameter name="riid" type="IID" value="770AAE78-F26F-4DBA-A829-253C83D1B387" />  
    <Parameter name="ppFactory" type="void" handle="1" isOutput="true" />  
</Method>  

<Moment value="167"/>  
<Method name="D3D11CreateDevice" >  
    <Return type="HRESULT" value="S_OK" />  
    <Parameter name="pAdapter" type="IDXGIAdapter" handle="34" />  
    <Parameter name="DriverType" type="D3D_DRIVER_TYPE" value="D3D_DRIVER_TYPE_UNKNOWN" />  
    <Parameter name="Software" type="HMODULE" value="pointer" />  
    <Parameter name="Flags" type="UINT" value="0" />  
    <Parameter name="pFeatureLevels" type="D3D_FEATURE_LEVEL" arrSize="1" >  
        <Element value="D3D_FEATURE_LEVEL_11_0" />  
    </Parameter>  
    <Parameter name="FeatureLevels" type="UINT" value="1" />  
    <Parameter name="SDKVersion" type="UINT" value="7" />  
    <Parameter name="ppDevice" type="ID3D11Device" handle="35" isOutput="true" />  
    <Parameter name="pFeatureLevel" type="D3D_FEATURE_LEVEL" value="D3D_FEATURE_LEVEL_11_0" isOutput="true" />  
    <Parameter name="ppImmediateContext" type="ID3D11DeviceContext" value="nullptr" isOutput="true" />  
</Method>  

RequisitosRequirements