La activación de las herramientas de depuración de la GPU permite obtener información adicional sobre errores gráficos, llamadas API no válidas y problemas relacionados con Direct3D 12, DirectML y el rendimiento de los juegos.
En Windows, esta tarea se relaciona principalmente con la capa de depuración de Direct3D 12, la capa de depuración de DirectML y la función Programación de GPU acelerada por hardware. Aunque cumplen objetivos diferentes, pueden utilizarse conjuntamente durante el desarrollo, las pruebas y el diagnóstico de aplicaciones gráficas.
Qué es la depuración extendida de programas de GPU
La capa de depuración de DirectML es un componente opcional en tiempo de desarrollo que le ayuda a depurar el código de DirectML.
Cuando está habilitada, la capa de depuración de DirectML ajusta las llamadas a la API de DirectML y proporciona mensajes y validación adicionales para usted como desarrollador.
La capa de depuración para Direct3D 12 (d3d12sdklayers.dll) es independiente de la capa de depuración de DirectML (DirectML.Debug.dll): la capa de depuración de DirectML proporciona una validación mejorada para el uso de la API de DirectML y la capa de depuración de Direct3D 12 cubre el uso de la API de Direct3D 12.
Sin embargo, en la práctica, es mejor habilitar ambas capas de depuración al desarrollar aplicaciones directML.
| Componente | Función principal |
|---|---|
| Capa de depuración de DirectML | Validación mejorada para el uso de la API de DirectML. |
| Capa de depuración de Direct3D 12 | Validación del uso de la API de Direct3D 12. |
| d3d12sdklayers.dll | Capa de depuración de Direct3D 12. |
| DirectML.Debug.dll | Capa de depuración de DirectML. |
Cómo activar la capa de depuración de Direct3D 12
Primero debe habilitar la capa de depuración de Direct3D 12.
Id3D12InfoQueue solo está disponible cuando la capa de depuración de Direct3D 12 está habilitada con ID3D12Debug::EnableDebugLayer.
Cuando la capa de depuración de DirectML detecta un problema, siempre prefiere enviar mensajes de error al ID3D12InfoQueue asociado con el ID3D12Device pasado durante la creación del dispositivo DirectML.
Aunque siempre es preferible habilitar (o deshabilitar) las capas de depuración de Direct3D 12 y DirectML juntas, las versiones más recientes de DirectML admiten la validación básica de parámetros sin la capa de depuración de Direct3D 12.
Como sugiere el mensaje de advertencia, es mejor habilitar la capa de depuración de Direct3D 12 al usar también la capa de depuración de DirectML.
Instalar las Herramientas de gráficos en Windows
Cuando se usa DirectML como componente del sistema (consulte historial de versiones de DirectML), la capa de depuración forma parte de un paquete de Herramientas de gráficos independiente, distribuido como característica a petición (FOD) (consulte Características a petición).
Las herramientas gráficas FOD deben añadirse a tu sistema para poder utilizar la capa de depuración con la versión del sistema de DirectML.
Como alternativa, puede agregar el paquete herramientas de gráficos desde la configuración de Windows.
En Windows 10 22H2 y Windows 11, vaya a Configuración> Característicasopcionales> delsistema>Agregar una característica opcional y busque Herramientas de gráficos.
La capa de depuración de Direct3D 12 se instala como parte de la FOD de Herramientas de gráficos, que se explica anteriormente.
Activar la depuración de DirectML
Cuando se usa DirectML como una biblioteca redistribuible independiente (consulte Microsoft.AI.DirectML), la capa de depuración de DirectML se proporciona en el paquete junto con la biblioteca principal en tiempo de ejecución.
Si usa Visual Studio para agregar Microsoft.AI.DirectML como dependencia de paquete NuGet, el proyecto mostrará opciones en la página de configuración del proyecto para copiar u omitir la copia del runtime principal y las bibliotecas de capas de depuración.
De forma predeterminada, el paquete NuGet de DirectML está configurado para copiar siempre ambos archivos DLL en la carpeta de salida del proyecto.
Hasta DML_FEATURE_LEVEL_5_2, es un requisito habilitar la capa de depuración de Direct3D 12 para habilitar la capa de depuración de DirectML.
En versiones anteriores de DirectML, si la bandera DML_CREATE_DEVICE_FLAG_DEBUG se especifica en las banderas y las capas de depuración no están instaladas, DMLCreateDevice devuelve DXGI_ERROR_SDK_COMPONENT_MISSING.
Una vez que haya habilitado la capa de depuración de DirectML, los errores de DirectML o las llamadas API no válidas harán que la información de depuración se emita como salida de depuración.
Ejemplo de error detectado por la capa de depuración
En el ejemplo de código siguiente se muestra cómo la capa de depuración puede ayudar a diagnosticar el uso incorrecto de la API.
Este código intenta construir una operación de identidad de DirectML; por lo tanto, los tensores de entrada y salida deben tener la misma forma y tipo de datos.
Sin la capa de depuración de DirectML, se produce un error en la línea final para crear el operador y se devuelve E_INVALIDARG (0x80070057).
D3D12 ERROR: Mismatched tensor data types. Tensor 'Output' has DataType of DML_TENSOR_DATA_TYPE_FLOAT16, while tensor 'Input' has DataType of DML_TENSOR_DATA_TYPE_FLOAT32. Both tensors are expected to have the same DataType.
Observe cómo comienza la información extendida con el error D3D12.
[DIRECTML ERROR]: Mismatched tensor data types. Tensor 'Output' has DataType of DML_TENSOR_DATA_TYPE_FLOAT16, while tensor 'Input' has DataType of DML_TENSOR_DATA_TYPE_FLOAT32.
El mensaje indica que el tensor de salida utiliza DML_TENSOR_DATA_TYPE_FLOAT16, mientras que el tensor de entrada utiliza DML_TENSOR_DATA_TYPE_FLOAT32.
Para una operación de identidad, ambos tensores deben tener la misma forma y tipo de datos.
Otros mensajes de diagnóstico
DML_OPERATOR_CONVOLUTION: invalid D3D12_HEAP_TYPE.
Los mensajes de este tipo pueden revelar parámetros incompatibles, tipos de recursos incorrectos o llamadas API que no cumplen los requisitos de DirectML.

Activar la Programación de GPU acelerada por hardware
GPU Scheduling, o «Programación de GPU acelerada por hardware» es una nueva función introducida en Windows 10, y mantenida en Windows 11, para mejorar aún más el rendimiento de los juegos.
Esta función lo que hace es permitir que la GPU administre su memoria en lugar de delegar esta tarea al sistema operativo.
De esta manera, al activarla, los usuarios conseguirán un mayor rendimiento y una menor latencia.
Por defecto, esta característica viene desactivada a los usuarios por motivos de compatibilidad, ya que para poder usarla debemos cumplir una serie de requisitos.
Requisitos previos
- Lo primero de todo es que, para poder usar esta función, es necesario haber actualizado nuestro ordenador a Windows 10 May 2020 Update, o a Windows 11.
- Además, es necesario contar con una tarjeta gráfica NVIDIA que sea compatible con esta característica, ya que las gráficas integradas en la CPU, por ejemplo, no lo son.
- Por supuesto, también debemos asegurarnos de tener los drivers de la gráfica actualizados.
- El soporte para GPU Scheduling se introdujo con la versión 451.48 de los drivers GeForce Game Ready.
Si cumplimos con lo anterior, ya podremos habilitar esta nueva opción.
Activación en Windows 10
Para activar esta función, lo que debemos hacer es abrir el menú de Configuración de Windows (podemos hacerlo con el atajo de teclado Windows + I).
Aquí nos encontramos con una buena cantidad de parámetros de utilidad para configurar y personalizar el uso del sistema en el PC.
Así, dentro de él nos iremos al apartado «Sistema» > «Pantalla».
Entramos en este apartado, y podremos ver una pantalla de configuración como la siguiente.
Debemos hacer clic sobre este interruptor para encenderlo y listo.
Esta nueva característica empezará a funcionar después de reiniciar el ordenador.
Activación en Windows 11
En caso de usar ya Windows 11, el proceso para activar esta función es muy similar al de Windows 10.
Lo que debemos hacer es abrir una ventana de Configuración del sistema operativo (con el atajo de teclado Windows + I), y nos desplazaremos al apartado Pantalla > Gráficos.
Una vez activada la opción, reiniciamos Windows 11 para que los cambios surtan efecto y listo.
Compatibilidad con tarjetas gráficas AMD
Esta tecnología está especialmente diseñada y optimizada para tarjetas gráficas NVIDIA.
Sin embargo, también podría funcionar sin problemas en una gráfica AMD Radeon, siempre y cuando el fabricante rojo quisiera hacerla funcionar.
AMD asegura que, desde la serie 6000 de sus GPUs, activar o desactivar esta función no implica ni el más mínimo cambio en el rendimiento de los juegos.
Por tanto, para evitar problemas y confusiones, AMD ha decidido mantener esta función desactivada.
Y, por ello, no podemos activarla en casi ninguna gráfica.
Qué hacer si aparecen problemas
En caso de experimentar estos problemas bastará con volver al mismo apartado donde hemos activado esta característica y desmarcar su interruptor.
Al margen de los juegos, los problemas con la función de aceleración por hardware también son extensibles a otro sector del software de la importancia de los navegadores.
Esto es algo que se suele utilizar para la reproducción de determinados contenidos que albergan las webs que visitamos.
De esta manera logramos que las mismas se carguen más rápidamente y no haya cortes en la visualización de vídeos, por ejemplo.
Tal es así que en la actualidad la mayoría de los navegadores de internet actuales disponen de una opción personalizable.
Nos referimos a la posibilidad de activar o desactivar esta aceleración por hardware de manera sencilla en estos programas tan usados hoy día.
Diagnosticar problemas de rendimiento de la GPU
También se puede dar el caso de que el rendimiento de la GPU de la que disponemos en el equipo no sea la esperada, por algún problema en las DirectX.
Para ello el propio sistema operativo nos presenta una potente herramienta de diagnóstico integrada llamada DXDiag.exe.
Para que nos hagamos una idea, aquí nos referimos a una funcionalidad que recopila información de ciertos dispositivos multimedia del PC.
Por todo ello, si el rendimiento de la GPU del equipo no es la esperada, esto nos podrá ayudar.
Hay que decir que todo ello se hace especialmente patente entre aquellos usuarios que suelen hacer utilizar el ordenador para jugar o ver vídeos.
Cómo abrir DXDiag.exe
Así, para acceder a todo esto que os comentamos, lo primero que debemos hacer es lanzar el cuadro de ejecución mediante la combinación de teclas Win + R.
A continuación, no tendremos más que ir moviéndonos entre las pestañas que la misma nos propone para ver si hay algún fallo relacionado con el apartado gráfico del sistema.
Algo que debemos tener muy en cuenta en este sentido, es que esta es una potente funcionalidad gráfica que se integra en Windows, y que nos podrá ser de una enorme ayuda.
Por un lado, nos encontramos con toda la enorme cantidad de información interesante que nos propone.
Esta se reparte entre las diferentes pestañas que encontramos en la parte superior de la interfaz del programa.
Aquí veremos una buena cantidad de datos internos relativos a apartados multimedia de la importancia de los gráficos y el sonido.
La tarjeta gráfica que forma parte de nuestro ordenador en estos momentos, al igual que sucede con el procesador o la memoria RAM, es un elemento clave a la hora de medir el rendimiento que nos va a ofrecer el equipo en general.
A la hora de valorar el rendimiento que va a tener un determinado programa o juego en nuestro ordenador, por supuesto será clave que conozcamos con detalle todo aquello relacionado con el apartado gráfico instalado.
Windows nos ofrece varias funciones integradas que nos permitirán conocer toda la información relativa a la GPU de nuestro equipo.
Una vez ejecutamos la misma en el cuadro de búsqueda de la barra de tareas, en la ventana que aparece nos situamos en la pestaña llamada Representar.
Además esto se hace extensible tanto si disponemos de una gráfica, o más de una, y además los datos disponibles aquí también se hacen extensibles a los controladores disponibles en ese instante.
Ajustar el plan de energía
Uno de los ajustes más importantes que debemos tener en cuenta a la hora de mejorar el rendimiento gráfico es configurar de manera correcta el plan de energía del ordenador.
Esto influye directamente sobre la capacidad gráfica de nuestro equipo.
Normalmente, los equipos utilizan el plan de energía «Equilibrado».
Como su propio nombre indica, se rige por el equilibrio entre el consumo de electricidad y el rendimiento de nuestro PC.
Lo primero que tendrás que hacer es abrir el Panel de control (escribe su nombre en la barra de búsqueda de la Barra de tareas).
Y una vez dentro, ve a «Sistema y seguridad».
Es posible que esta opción no te aparezca de primeras, así que solo tienes que desplegar la flecha hacia abajo de «Planes adicionales».
En cualquier caso, cuando hayas seleccionado «Alto rendimiento», haz clic en «Cambiar la configuración del plan», y, posteriormente en «cambiar la configuración avanzada de energía».
Ahora que lo tienes todo abierto delante de ti, ajusta «Estado mínimo del procesador» al 100%.
A través de esta configuración, nuestro ordenador no reducirá nunca la potencia del microprocesador para ahorrar energía.
Funciones de DirectX 12 Ultimate
Además de poder activar el GPU Scheduling, el nuevo DirectX 12 Ultimate trae una gran cantidad de mejoras relacionadas con el rendimiento de los juegos.
DirectX Raytracing 1.1
La primera de ellas es DirectX Raytracing 1.1.
Hablamos de una nueva API para Ray Tracing que incluye nuevas capacidades para el trazado de rayos más allá de las gráficas de NVIDIA.
Gracias a ello, todos los usuarios podrán beneficiarse de esta impresionante mejora visual sin tener que depender de un hardware concreto como ocurre hasta ahora.
Variable Rate Shading
También se ha incluido el «Variable Rate Shading».
Los Shaders son los encargados de decir al sistema cuál debe ser el color, el brillo y el contraste de cada píxel.
Esto implica un coste computacional tremendo (y, por tanto, una pérdida de rendimiento).
Gracias a esta tecnología solo se usarán los shaders para los objetos más importantes del juego, usando algoritmos inteligentes para colorear el resto de los elementos secundarios (por ejemplo, los árboles).
Mesh Shaders
Otra característica similar es la nueva API Mesh Shaders, que utiliza algoritmos inteligentes para construir mundos más detallados y dinámicos de forma mucho más eficiente.
El nuevo DirectX 12 Ultimate está disponible para Windows 10 May 2020 Update (y futuras versiones) y para la nueva Xbox Series X.
Funciones adicionales de Windows para mejorar los juegos
No es nada nuevo que Microsoft está esforzándose en convertir Windows en un sistema operativo que permita a los usuarios sacar el máximo provecho posible a los juegos.
Además del «Modo de juego», de la «Game Bar», de las funciones de Xbox incluidas en el sistema operativo y de su Game Pass y la Microsoft Store, con la llegada de Windows 10 May 2020 Update, el sistema operativo ha estrenado una nueva función como parte de DirectX 12 Ultimate que permitirá reducir la latencia y mejorar el rendimiento de los juegos.
Y es que a través de sus actualizaciones, en muchas ocasiones Microsoft ha puesto un especial cuidado en intentar mejorar nuestra experiencia con los juegos.
Para ello se han introducido algunas interesantes características centradas en el uso de este software lúdico y qué no es facilite disfrutar de los últimos títulos, pero la mejor manera.
Auto HDR
Una de estas características es el Auto HDR.
Esta función se encargará de añadir automáticamente un efecto HDR a todos los juegos que soporten esta funcionalidad, mejorando la calidad visual de estos.
Eso sí, para poder aprovecharnos de ella es necesario que nuestro monitor sea compatible con la tecnología HDR.
DirectStorage
La segunda, y más interesante, de las novedades de Windows 11 en cuanto al rendimiento de los juegos se llama DirectStorage.
Gracias a esta novedad, si tenemos un SSD NVMe, los juegos podrán cargar las texturas directamente desde estas unidades.
Así, eliminamos a la CPU de la ecuación, reduciendo los tiempos de carga de las texturas.
Consejos complementarios para optimizar la GPU
Actualizar los controladores
Debemos tener instalada siempre la última versión de los controladores en el PC de manera que podamos disfrutar de ellos con las últimas optimizaciones para los juegos.
Esto es algo que podemos lograr de manera sencilla desde el propio Administrador de tareas del sistema.
También hay ciertos programas específicos que automatizan estas tareas, lo que nos facilita la actualización de drivers.
Además, con este cambio evitamos problemas con los controladores hardware que usemos para jugar aquí.
Mantener Windows actualizado
Con cada actualización, Microsoft lanza nuevas funciones que mejoran el rendimiento de los juegos.
Además, algunas de las nuevas versiones importantes del sistema añaden nuevas características centradas en este tipo de tareas.
Y es que el gigante del software está apostando muy fuerte por los juegos en Windows.
Eso sí, debemos tener en cuenta que la llegada de una nueva actualización requerirá, por regla general, más recursos del propio PC.
Sin embargo, son asumibles por cualquier equipo que sea oficialmente compatible con esta versión del sistema operativo.
Activar la Game Bar y el Modo Juego
Estas dos funciones están pensadas especialmente para mejorar el funcionamiento general del equipo a la hora de jugar.
Ambas, como su propio nombre indica, se centran en ofrecernos una mejor experiencia.
Esto es algo que se hace especialmente patente en el mencionado Modo juego, ya que reserva recursos del PC para estas tareas, bloquea las notificaciones en las partidas, y más.
Usar el modo de pantalla completa
Este modo cede el control de la pantalla a la GPU para que pueda dedicar al máximo los recursos a jugar.
Aunque en un principio se pueda pensar lo contrario, Windows está preparado para priorizar y mejorar el uso de juegos en su ejecución a pantalla completa.
Es más, la mencionada Game Bar está capacitada para ofrecernos ciertas funciones y sacar aún más provecho a las partidas a pantalla completa que llevemos a cabo.
Reducir los detalles gráficos
Para buscar el mejor rendimiento a la hora de jugar, si nuestro equipo no se caracteriza por ser de última generación, lo primero que debemos hacer es reducir al mínimo todos los detalles para, poco a poco, ir activándolos hasta encontrar la configuración ideal.
Esto es especialmente útil cuando tenemos un monitor de más de 60 Hz y queremos sacarle el máximo partido, especialmente en juegos FPS.
Cerrar aplicaciones innecesarias
En el caso de que no vayamos a necesitar el resto de los programas que tenemos en ese momento en funcionamiento en Windows, para jugar es mejor cerrarlos.
De esta manera nos evitamos posibles cortes que se puedan realizar en la partida por culpa de estos, además de liberar recursos que pueden ser aprovechados por el título como tal.
Siempre es preferible que el sistema operativo centre el uso del hardware disponible en el juego que tenemos en ejecución.
Controlar la temperatura del equipo
Eso sí, todo esto que os comentamos estará en gran medida limitado, al hardware del que disponga el PC, Windows tampoco puede hacer milagros.
Evitar que el equipo se caliente más de lo normal a la hora de ejecutar nuestros juegos es una tarea fundamental.
Aunque pueda parecer algo absurdo, evitar que nuestro PC se caliente más de lo normal a la hora de ejecutar nuestros juegos es una tarea fundamental.
Si el interior del equipo se encuentra sucio, el flujo del aire tanto del procesador como de la gráfica no será el mejor de todos.
Lo que conlleva un incremento en la temperatura de ambos componentes que, al final, repercuten en el rendimiento general.
Ejecuta ComfyUI con una GPU AMD antigua | Radeon RX 580
tags: #activar #la #depuracion #de #programas #extendida
Publicaciones populares:
- Usos prácticos de las piedras purificadoras
- Causas y síntomas de la estenosis de conductos hepáticos
- Guía para cambiar el filtro de aire en Peugeot sin pasar la mano
- Capacidad de la Depuradora de Viñas del Vero
- Cómo funciona un aire acondicionado portátil 3 en 1: humidificador y purificador
