
Microsoft todavía no ha lanzado una próxima generación de la API DirectX, y AMD y NVIDIA ya están aumentando el soporte para DirectX12 en sus últimas tarjetas gráficas, en las cuales se incluyen la serie Radeon HD 7XXX y Rx 2xx por parte de AMD, y GeForce Fermi, Kepler y Maxwell por parte de NVIDIA.
día de hoy las únicas aplicaciones que hace uno de DriectX 12 son demos de títulos AAA, que todavía se encuentran en fase de desarrollo, aunque eso no parece importarles mucho a AMD y NVIDIA, ya que han exhibido varias diapositivas sobre como sus arquitecturas hacen uso de la nueva API.
Entrando en detalles, como era de esperar, se ve claramente como DirectX 12 es un gran cambio, no solo para los usuarios, también para los desarrolladores, que les permite aprovechar mucho más el potencial del hardware (CPU y GPU), por lo que esto conduce a una mejor estabilidad y rendimiento, pero no solo se limita a esto, también permite una mejor optimización del juego, un proceso de desarrollo mucho más suave y efectos mejores visualmente.
AMD Radeon y DirectX 12 – Una gran unión

Las diapositivas presentadas presentada por AMD el 17 de febrero de 2015, solo se presentaron a un público específico, hasta hoy, donde en la primera diapositiva se ve al detalle, de lo que ya sabemos, sobre el estado actual de los procesadores multi-core, exactamente los CPU FX, que a pesar de tener un número de núcleos mas alto, no tienden a ofrecer un rendimiento mucho mayor, a comparación con Intel, en aplicaciones con soporte multi-core.
Tanto Bulldozer como Piledriver no logran entregar una enorme ganancia en IPC, por tanto, son procesadores más “flojos” contra las tres generaciones de Intel. Otro factor a tener en cuenta, es que las CPU más modernas, son incapaces de seguir el ritmo de crecimiento del rendimiento de las tarjetas gráficas, que suelen ser de dos dígitos, en comparación con un solo crecimiento de dos dígitos en los CPU.
También está el hecho de que los gastos generales actuales de API/Driver, están restringiendo las CPU con múltiples núcleos, para utilizar un único núcleo para comunicarse con la GPU, a la hora de ejecutar un proceso, así que incluso con CPU de 4, 6 u 8 núcleos, están en la misma liga que un CPU de doble núcleo, a menos que, la aplicación pueda garantizar una comunicación multi-procesador.
Con DirectX 12 esto va a cambiar, gracias a los siguientes beneficios que ofrece:
- Mejor uso en CPU multi-nucleo
- Más detalle en pantalla
- Mayor promedio de Max/Min framerate
- Jugabilidad más suave
- Uso más eficiente de la GPU
- Reducción de consumo del sistema
- Permite nuevos diseños en juegos, a diferencia de API’s más antiguas
Buffer de comandos multi-hilo

Con DirectX 12, AMD tiene tres características fundamentales para incorporar en su hardware. La primera es grabación de comandos en buffer multi-hilo, con una lista de comandos a ejecutar por la CPU mientras se ejecuta un juego con efectos, que será utilizado para mejorar el rendimiento multi-core del CPU.
El hecho es que esta tecnología no solo trabajara con CPU AMD, también lo hará en procesadores Intel y varios procesadores basados en ARM, permitiendo una mayor ganancia de FPS, mediante la utilización de varios núcleos, que les permitirá comunicarse con los núcleos de la GPU de forma simultánea.
Esto permite también un mejor uso de la CPU, y ofrece un mayor rendimiento por vatio, ya que anteriormente, se estaba perdiendo la mayor parte de la energía del CPU en no hacer nada. La tecnología permitirá que la CPU cree menos cuello de botella previamente, dejando la mayoría de actuación determinada por la GPU, usando la CPU adecuadamente.
Un gráfico realizado por AMD ilustra perfectamente como el API trabajara en beneficio de la CPU, a diferencia de la generación actual DirectX 11, donde la mayor parte del trabajo se establece en un solo núcleo (Core1), procesando este único todas las tareas emitidas al CPU, causando la gran mayoría de cuellos de botella. Al mismo tiempo, otros núcleos están trabajando, pero algunos permanecen sin ser usados, mientras que la CPU está adquiriendo la misma carga que en cualquier momento de carga normal.
El tiempo total que necesita DirectX 11 para completar una carga de trabajo es de 29ms, lo que serían 34FPS, a diferencia de DirectX 12, todos los núcleos están siendo utilizados, distribuyendo la carga en todos ellos, reduciendo significativamente el tiempo de ejecución a 15ms, 66FPS, permitiendo que el juego pueda presentar rápidamente la ejecución.
La siguiente característica de AMD es Fine-Grain Asynchronus Computing Scheduling/Execution, a la traducción vendría a ser grano fino asíncrono de programación y ejecución, el cual nos entrega tres beneficios, mayor número de FPS, mayor soporte VR y una mejor calidad de imagen.
Directx 12 desplazara varias cargas de trabajo complejas en serie, a varias cargas de trabajo paralelas , que permitirán la ejecución de varias maneras, y no de un solo modo, como hasta ahora, en el que se ejecutan las cargas en serie por una sola vía. A parte de esto, si no hay carga adicional, los recursos de la GPU serán puestos a trabajar, en vez de esperar a su turno, traduciéndose en un proceso de rápida ejecución, ofreciendo un mayor rendimiento a través de mejoras multi-hilo por parte de la GPU.
Efectos tales como Physics y Rayos, y la memoria, utilizan diferentes recursos de la GPU, pero la ejecución en serie es único, y DirectX 12 permitirá un camino paralelo, con tal de reducir el tiempo de render para ofrecer una menor latencia y mayor número de FPS.
Al final, AMD ha enumerado abajo, una última característica pendiente de “anunciarse” por Microsoft y AMD. No hay información al respecto de esta característica, pero teniendo en cuenta las diapositivas filtradas de la Radeon R9 390X, pudiendo ser el 3r nivel de la capacidad de la “unión de recursos”, se debe tomar como sin mera importancia hasta que sea anunciado oficialmente.
NVIDIA y DirectX 12 – Funciones de soporte

Al igual que AMD y su reciente arquitectura GCN, NVIDIA está dispuesta a apoyar DirectX 12, en su última arquitectura Maxwell, incluso en la anterior generación Fermi y Kepler, sin embargo tanto como AMD y NVIDIA van a adoptar las últimas funciones, en sus últimas generaciones de GPU, mientras que las más antiguas solo incorporarán las características más básicas de la API.
Pasando a los detalles, NVIDIA esta trabajando con Microsoft en el desarrollo de una amplia gama de características que serán apoyadas por Maxwell. La presentación comienza con un detalle de algunas características claves, como Conservative Boundary Rasterization, Raster Ordered Views, Tiles Resources y otros efectos especiales que permiten potenciar el rendimiento de los gráficos en hardware de NVIDIA.
Algunos detalles en los que serán para ambos fabricantes, AMD y NVIDIA, requieren de la necesidad de mejorar la eficiencia en CPU multi-núcleo, para ser utilizado con eficacia, para que pueda comunicarse con la GPU, de la forma más eficiente, y mejorar el rendimiento y los tiempos de carga por vatio.
Tecnologías DirectX 12 para Maxwell
Entre estos efectos, que serán apoyados por la segunda generación de Maxwell, incluyen Voxelización DirectX 12, que es también una mejora de la VXGI (Voxel basado en Iluminación Global), introducido en la serie GTX 900 compuesta por la GTX960, GTX970, GTX980 y GTX Titan X.
La arquitectura Maxwell de NVIDIA añade los nuevos recursos de tiled y la tecnología multi-proyección para Voxel Grids (futuro VXGI), que mejoran la iluminación global.
DirectX 11.2 hace uso de 3D Tiles Resources que permite que el hardware gestione la memoria virtual de la unidad de procesamiento de gráficos, y tiene varias funciones Tier-2 admitidas como Shader LOD y mapeados de información de estado.
Un camino de pixeles se cubrirá si ya están cubiertos por un triángulo, que es el facilitador de trama conservadora, que da cuenta a ambos colores, naranja y morado, y cubre la conservación del tiempo requerida para el cálculo, permitiendo nuevos algoritmos de renderizado, y el resultado de esta tecnología de voxelización, mejora tres veces el rendimiento, con el nuevo hardware de aceleración del que dispone Maxwell.
Técnicas avanzadas AA
La nueva función de multi-sampling (multi-muestreo), puede especificar la ubicación de todos los sub-pixeles, que permite el sombreado, para mostrar la profundidad de cada sub-pixel.
NVIDIA esta incorporado una nueva serie de tecnologías de suavizado, que incluyen múltiples cuadros de muestreo anti-aliasing (Multi-frame AA), polimerización G-Buffer anti-aliasing (G-Buffer AA), anti-aliasing acumulativa (Accumulative AA). La ultima técnica AGAA 2A ofrece una calidad de 32x MSAA, al mismo tiempo, penaliza el rendimiento de 4x MSAA, lo cual esto es un problema.
Por último, NVIDIA habla de VR Direct y como DirectX 12reducira el tiempo de respuesta en su tecnología más reciente “Time Wrap”, al permitir un tiempo de retardo menor a 20ms entre cada fotograma. Tambien hay API VR SLI que permitirá un renderizado de frames mas rápido, haciendo uso de tarjetas gráficas en SLI.