Microsoft presenta DirectX 12 Ultimate, su API de próxima generación

Han pasado algunos años desde que Microsoft presentó DirectX 12, y este otoño se lanzará un nuevo conjunto de consolas, por lo que ha llegado el momento de presentar una nueva versión de DirectX. Microsoft acaba de lanzar DirectX 12 Ultimate, una extensión y unificación de varias características de DX12 que deberían servir como una referencia de capacidad común para nuevos productos y consolas.



Las GPU etiquetadas como compatibles con DirectX 12 Ultimate ofrecerán las siguientes capacidades:



Trazado de rayos DirectX
Sombreado de tasa variable
Sombreadores de malla
Comentarios del muestreador



Las GPU que no pueden proporcionar todas estas capacidades se seguirán vendiendo como GPU DirectX 12, no como tarjetas DirectX 12 Ultimate. Ninguna de las capacidades anteriores es nueva (Nvidia presentó las primeras GPU con soporte de trazado de rayos DX12 en 2018), pero no son compatibles con las familias de GPU modernas.

Más de una actualización puntual

La forma en que DirectX 12 Ultimate funciona es más una actualización puntual que una versión de API completamente nueva. El hecho de que un juego sea compatible con DirectX 12 Ultimate no significa que su tarjeta DX12 existente no lo ejecutará, simplemente no tendrá acceso a ese grupo común de funciones.



La razón por la que Microsoft está haciendo esto, sospecho, es porque ahora hay nuevas características importantes en DX12 que no están realmente 'adjuntas' al estándar. Esto sería equivalente a un nivel de características de DirectX 12_2, excepto que Microsoft ha decidido lanzar una nueva marca en torno al concepto e ir con DX12U.



En este caso, Nvidia tiene una ventaja sobre otras GPU familias, con soporte para estas características ya incorporadas en Turing. En este punto, sin embargo, los jugadores estarían mejor esperando a ver lo que Ampere trae a la mesa en lugar de comprar Turing si el objetivo es la longevidad y el máximo soporte de funciones: todo lo que Turing puede hacer en estos aspectos, Ampere obviamente podrá hacerlo. mejor. Anandtech ha elaborado una tabla que muestra cómo se comparan las principales GPU de AMD, Nvidia e Intel:

Funciones de DX-12

Imagen de Anandtech



Según AMD, todas las nuevas GPU Navi 20 que llegarán en 2020 serán compatibles con DirectX 12 Ultimate.

Características específicas

Primero, tenemos Trazado de rayos DirectX 1.1: En el futuro, los desarrolladores podrán crear tareas de trazado de rayos que se ejecuten directamente en la GPU sin invocar la CPU. Los motores de transmisión ahora podrán cargar sombreadores de trazado de rayos de manera más eficiente, y hay una nueva función de trazado de rayos 'en línea' que le da al desarrollador más control sobre el proceso de RT. Microsoft escribe:



Los escenarios con muchos sombreadores complejos se ejecutarán mejor con el trazado de rayos basado en sombreadores dinámicos, en lugar de usar uber-sombreadores de trazado de rayos en línea masivos. Mientras tanto, los escenarios que tienen una complejidad de sombreado mínima y / o muy pocos sombreadores funcionarán mejor con el trazado de rayos en línea.



Si todo lo anterior parece bastante complicado, bueno, ¡lo es! La conclusión de alto nivel es que tanto el nuevo trazado de rayos en línea como el trazado de rayos original basado en sombreadores dinámicos son valiosos para diferentes propósitos.

El sombreado de tasa variable es una característica que hemos discutido antes. Permite que la GPU dedique más recursos a las áreas más importantes de un juego (hablando visualmente) y reduce el nivel de detalle en áreas donde es poco probable que lo note. Los sombreadores de malla se han descrito como 'sombreadores de cálculo para geometría'. Así es como Microsoft los describe:

Antes del sombreador de malla, la canalización de geometría de la GPU ocultaba la naturaleza paralela de la ejecución del hardware de la GPU detrás de una abstracción de programación simplificada que solo les daba a los desarrolladores acceso a funciones de sombreado aparentemente lineales ... Los sombreadores de malla cambian esto al hacer que el procesamiento de geometría se comporte más como sombreadores de cálculo. En lugar de una función única que sombrea un vértice o una primitiva, los sombreadores de malla operan en todo un grupo de subprocesos de cómputo, con acceso a la memoria compartida del grupo y funciones de cómputo avanzadas como intrínsecos de onda entre carriles que brindan un control aún más detallado sobre el hardware real ejecución.

Esto debería eliminar una sobrecarga sustancial del procesamiento de geometría y permitir la creación de objetos y escenas más detallados. La publicación del blog de Microsoft tiene detalles adicionales sobre cómo esperan que este avance simplifique la programación de la GPU. La selección de geometría también debería ser más eficiente: los sombreadores de malla básicamente agregan una selección de medio paso entre la selección gruesa (por malla) y fina (por triángulo) realizada en la tubería de geometría existente. ¿El único truco? La implementación de sombreadores de malla probablemente requeriría que se escribiera un juego para hardware DX12U y superior, lo que significa que no veremos ese tipo de títulos hasta que el estándar se establezca como la línea de base esperada.

Estas son características y capacidades que veremos implementadas con el tiempo, pero con el debut del trazado de rayos en las consolas y las GPU de AMD para el mercado de PC, deberíamos comenzar a ver una mayor aceptación de esa característica, al menos, en 2021-2022. no tienes una tarjeta DX12U, no hay razón para preocuparte: serás totalmente compatible con los juegos durante bastante tiempo.