Microsoft ha medido una caída del uso de memoria para ray tracing de 7,5 GB a 774 MB en una prueba con una AMD Radeon RX 9070. La mejora llega con dos funciones nuevas en vista previa para DirectX Raytracing (DXR): Clustered Geometry y Partitioned TLAS. En esa misma prueba, la tasa de imágenes subió de 1,2 a 79 fps.
La reducción roza el 90%, pero no es una mejora automática para cualquier juego o tarjeta. Microsoft presenta las funciones como parte de Agility SDK 1.722-preview, y su disponibilidad depende de que los fabricantes implementen y validen los controladores. La compañía las describe como la mayor actualización de DXR desde su estreno en 2018.
For DXR this is the most significant update since its debut in 2018.
— Microsoft
Dos cambios para actualizar menos datos
Clustered Geometry divide las mallas en grupos reutilizables de triángulos. Cada estructura de nivel de clúster (CLAS) puede contener hasta 256 triángulos y 256 vértices. Después, la aplicación reúne referencias a esos grupos para construir una estructura BLAS, que se incorpora a la estructura de nivel superior de la escena.
La idea es reducir el coste de construir estructuras de aceleración grandes cuando cambian la animación, la geometría generada o los elementos que entran y salen de una escena. Microsoft señala que, al hacer más eficientes esas construcciones, puede resultar viable trazar rayos sobre la misma geometría detallada que se usa para la rasterización, en vez de recurrir a versiones simplificadas. Eso podría hacer que las sombras y los reflejos trazados coincidan mejor con lo que se ve en pantalla.
Partitioned TLAS aborda otro cuello de botella: actualizar la estructura que representa la escena completa. En lugar de reconstruirla entera cuando solo han cambiado algunos objetos, permite organizar las instancias en particiones y conservar la estructura de los grupos que no han variado. Así, el trabajo de actualización puede concentrarse en las zonas modificadas.
Las dos funciones pueden usarse por separado o juntas. Microsoft también añade una API unificada para construir y actualizar estas estructuras desde la GPU, con entradas de operaciones que pueden generarse en memoria de vídeo. El objetivo es reducir tanto el trabajo de mantenimiento de la geometría como la información que hay que volver a procesar en cada actualización.
La mejora depende del juego y del hardware
El resultado de 7,5 GB a 774 MB y el salto de 1,2 a 79 fps proceden de las pruebas de Microsoft, no de una medición general de juegos comerciales. PC Gamer advierte que un entorno de prueba especializado no garantiza las mismas ganancias en todos los títulos.
También hay un coste que los equipos de desarrollo tendrán que considerar: trabajar con geometría agrupada utiliza más memoria temporal de scratch que la tecnología tradicional. Por tanto, el ahorro en memoria de ray tracing no elimina todas las exigencias de recursos ni implica que cualquier implementación vaya a mejorar en la misma medida.
Las funciones no requieren capacidades de hardware nuevas más allá del soporte existente para ray tracing, pero eso no significa que estén disponibles en todas las GPU compatibles con DXR. La tabla de Microsoft indica soporte para Radeon RX 9000, Intel Arc serie B y procesadores Intel Core Ultra indicados en la tabla, además de todas las GPU RTX de NVIDIA. El soporte para Qualcomm figura como previsto para 2027. En algunas GPU de generaciones anteriores, Microsoft aún debe determinar si la implementación resulta viable.
La comparación con RTX Mega Geometry de NVIDIA ayuda a situar la propuesta: según PC Gamer, las técnicas de Microsoft son similares, pero la integración en DirectX ofrece una vía común para el hardware compatible, en lugar de limitar la función a la API específica de un fabricante. Microsoft cita Gears of War: E-Day como ejemplo temprano de geometría agrupada mediante la API propia de NVIDIA; la estandarización en DirectX pretende facilitar su adopción en futuros títulos compatibles.
Ya hay una vista previa, no una fecha para los jugadores
Agility SDK 1.722-preview está disponible para desarrolladores. Para probar estas funciones experimentales hacen falta las cabeceras y el runtime de vista previa correspondientes, un controlador compatible y el Modo de desarrollador de Windows. Microsoft también publica muestras y compatibilidad con PIX para trabajar con las nuevas funciones.
El blog de DirectX pide comentarios sobre el diseño durante esta fase, antes de su posible lanzamiento comercial. Microsoft no ha dado una fecha para la disponibilidad general de estas funciones en los juegos de PC. Por ahora, la cifra más llamativa sigue siendo la obtenida en su prueba con la Radeon RX 9070; el alcance real dependerá de los controladores y de cómo los estudios integren la tecnología.
Fuentes: PC Gamer, DirectX Developer Blog, DirectX Developer Blog, GitHub