La tecnología DLSS de NVIDIA funciona. Y lo hace realmente bien. En el análisis que publicamos a principios del mes de enero, y también en nuestros artículos dedicados a las tarjetas gráficas de la familia GeForce RTX 30, comprobamos que la iteración 2.0 de esta innovación incrementa sensiblemente la cadencia de fotogramas por segundo, especialmente a 1440p y 2160p.
Además, su impacto en la calidad de imagen en la mayor parte de los juegos es positivo. De hecho, en algunos de ellos consigue recuperar un nivel de detalle que no está presente cuando se lleva a cabo el renderizado sin DLSS. Que rinda tan bien es sorprendente, especialmente si tenemos presente que la primera versión de esta tecnología tenía un margen de mejora amplio.
La reconstrucción de imagen mediante IA es el camino a seguir
La reconstrucción de imagen utilizando técnicas de muestreo mediante aprendizaje profundo es el camino a seguir si queremos alcanzar cadencias sostenidas por encima de los 60 FPS a 1440p y 2160p con el trazado de rayos activado. Sin esta tecnología incluso una tarjeta gráfica tan potente como la GeForce RTX 3080 de NVIDIA se resiente a 2160p en estas condiciones.
Hasta ahora solo unos pocos estudios de desarrollo tenían acceso a la tecnología DLSS, pero el panorama acaba de cambiar. A finales de la semana pasada NVIDIA anunció que en adelante todas las desarrolladoras que utilizan el motor gráfico Unreal Engine 4 podrán usar su tecnología de reconstrucción de la imagen mediante inteligencia artificial, que ya está disponible en forma de plug-in para la revisión 4.26 de este motor.
Developers using @UnrealEngine 4 can now access #DLSS as a plugin for UE4 4.26. With DLSS, developers can enjoy great scaling across all GeForce RTX GPUs and resolutions, including the new ultra-performance mode for 8K gaming. Download today through the UE Marketplace. #GameDev
— NVIDIAGameDev (@NVIDIAGameDev) February 11, 2021
No cabe duda de que es una buena noticia para los usuarios. Y lo es porque, como demuestran nuestras pruebas y como los propietarios de una tarjeta gráfica GeForce RTX 20 o 30 han podido comprobar, DLSS 2.0 funciona muy bien en la mayor parte de los títulos. Además, esta decisión de NVIDIA garantiza que el número de juegos que implementará esta prestación se incrementará notablemente a medio plazo debido a que el motor Unreal Engine 4 es uno de los más utilizados por los estudios de desarrollo actualmente.
La respuesta de AMD: FidelityFX Super Resolution
AMD está trabajando en su propia alternativa a la tecnología DLSS de NVIDIA. Durante la presentación de la familia de tarjetas gráficas Radeon RX 6000 esta compañía dio algunos detalles acerca de su tecnología FidelityFX Super Resolution, y no cabe duda de que será su solución de reconstrucción de la imagen mediante técnicas de aprendizaje profundo.
RDNA 2, la arquitectura de las últimas tarjetas gráficas de AMD, es muy diferente de Ampere, que es la arquitectura de las GeForce RTX 30 de NVIDIA. Las Radeon RX 6000 no tienen núcleos dedicados a la ejecución de algoritmos de aprendizaje profundo similares a los núcleos Tensor de las GeForce RTX, por lo que probablemente serán los programadores quienes decidirán cuántos procesadores stream necesitan dedicar a la reconstrucción de la imagen mediante inteligencia artificial.
En cualquier caso, aunque las tecnologías DLSS y FidelityFX Super Resolution no estarán implementadas de la misma forma, perseguirán el mismo objetivo: permitirnos jugar con altas cadencias de imágenes por segundo a resoluciones muy altas y con el trazado de rayos activado.
Parece ser, aunque no está confirmado oficialmente, que uno de los pilares de esta innovación de AMD será DirectML, la biblioteca integrada en la API DirectX 12 que permitirá a los programadores utilizar los recursos de la GPU para implementar sus algoritmos de reconstrucción de la imagen mediante aprendizaje profundo. Lo que no sabemos aún es si FidelityFX Super Resolution solo funcionará sobre RDNA 2, o si también lo hará en las tarjetas gráficas con arquitectura RDNA. Si tuviese que apostar optaría por que solo llegará a las Radeon RX 6000.
Tampoco sabemos con certeza cuándo lanzará AMD su tecnología, aunque una filtración reciente asegura que llegará durante el próximo mes de marzo. En cualquier caso, ojalá esté disponible lo antes posible. Es evidente que a los usuarios nos interesa que tanto NVIDIA como AMD nos propongan soluciones competitivas, y DLSS es una baza que por el momento da a NVIDIA cierta ventaja. Confiemos en que AMD responda lo antes posible.
Ver 10 comentarios
10 comentarios
Usuario desactivado
permitanme ayudar aclarando algunos puntos
-DirectML es un API de Microsoft, parte de DirectX, para ejecucion de algorimos de IA, por ejemplo Redes Neuronales. Abstrae al desarrollador las especificidades del hardwrae, tal como hace dirctx (aunque dx12 lo hace menos, tal como vulkan). La aceleracion de las funciones sobre GPU esta en principio basada en HLSL, lenguaje de alto nivel de DirectX para programacion de shaders y ejecutado en las unidades de computo de shaders (valga la rebundancia) del GPU. Pero a nivel de driver puede traducirse en otra cosa y las unidades especializadas (es decir, estilo los "Tensor Cores" de Nvidia o los "Matrix Cores" de AMD) se encargarian de acelerar operaciones (por ejemplo las convoluciones de las redes neuronales convolucionales)
-DirectML es tambien parte de WinML, que abarca mas nivel y alcance de ejecucion , con fallback a CPU, pero aqui nos importa el caso GPU
-DirectML incorporaría (o creo q ya lo hace, hace unos dias Microsoft publico la especificacion oficial y con el SDK, debo revisarlo) en su version mas moderna capacidad para usar hardware especializado de manera transparente (se encargarian los drivers)
-Lo que ejecute con DirectML en GPU puede hacerse en los shaders puros, pero esto resta capacidad de computo dedicada a los graficos, al dibujo. es un asunto de balance de perdida-ganancia, que tiene que ser positivo en todods los aspectos (calidad de imagen, velocidad de fotogramas y latencia). en tiempo: coste de dibujar menos + coste de inferencia < coste de dibujar todo. en latecnia debe ser entre igual y muy ligeramente superior. en cladida de imagen se espera al menos similar, auqnue en partes o situaciones donde la vista no lo note puede ser inferior
-Shaders con capacidad nativa de calculo FP16, INT8/INT4 y bF16 y mezclados, se defienden mejor en esta tarea, pues es pueden ejecutar entre 2 y 16 veces mas rapido que FP32 (la realidad es un intermedio, no todo puede ser int4). en el caso AMD, solo CDNA y RDNA2 soportan computo en todos estos tipos de datos.
-AMD y Microsoft deben/tienen q haber optimizado mucho para que vaya tan bien como se pueda, en complejidad de los modelos, tipos de datos y adaptacion al hardware
-para acelerar la ejecucion, AMD en su hardware debe incorporar unidades especializadas. Esos Matrix Cores existen en las GPUs de computo CDNA (aun por salir al mercado general, deben estar por ahora metiendo todas las que fabrican en dos o tres supercomputadoras a salir este año) y que deben incorporarse en RDNA 3
-PERO, el SoC de las XBOX Series X si tiene hardware dedicado que acelera la ejecucion de estos algoritmos, segun Microsoft entre 3 y 10 veces ( supongo que comparado a si se ejecutaran solamnete en los shaders). Este es el hardware que usaran para ejecutar la red de interpolacion de imagen (mas bien, prediccion de pixeles). hardware que por ahora esta sin ser usado.
-Este hardware puede ser los Matrix Cores de CDNA, o un derivado, o unidades de diseño propio de MS+AMD, aunque esto ultimo seria menos problable, mejor usar lo ya creado para las GPUs AMD. En otras palabras, el SoC de las XBOXSX es algo asi como RDNA 2.5
-AMD incorporara esta capacidad en su biblioteca FidelityFX, asi cualquiera pueda usarlo, pero con seguridad en PC no lo veremos en uso hasta RDNA 3, donde se deben incluir los "Matrix Cores" en la arquitectura (se supone, y si AMD no lo hace le seria un problema), pues hacerlo en los shaders el coste en computo seria mucho mayor . A menos que se emplee en juegos con carga grafica baja o algo asi, aunque en este caso, ya irian rapido en primer lugar.
-mirando rapido los datos de la CDNA MI100, sus unidades Matrix de primera generacion entregan un maximo de 46/184 TFLOPS (FP32/FP16) en operaciones matriciales (matrices no dispersas, es decir que tiene elementos cero y estos se manipulan aun no aporten al resultado). La RTX2080ti entrega 107 TFLOPS (todos los flops son picos teoricos) en FP16 en los "tensor cores". esto lleva a pensar que si AMD mete en una futura GPU Radeon, quizas las mas potente, la misma cantidad de estas unidades de primera generacion (como sus unidades de RT), al menos supera en papel a la RTX2080ti, pero queda por debajo de la 3060ti con 64TFLOPS FP32 en matrices dispersas).
-PERO, si las unidades que incluya en RDNA 3 fuera ya mas avanzadas y pueden hacer las operaciones de manera optimizada sobre matrices dispersas (menos elementos a calcualr), estos numeros serian mayores. es cosa a ver para fines de año seguro, y de ir conociendo mas detalle cuando las CDNA salgan a mercado general.
-Sony no puede hacer esto, pues no tiene hardware dedicado a acelerar inferencias (a menos que lo tengan oculto, cosa que dudo) y su SoC es menos potente. pueden hacer algo de este estilo, pero de seguro mas limitado
-Finalmente, estos modelos no son solo para "escalado", si no tambien para ejecutar modelos para la reduccion de ruido, mas bien el rellenar informacion faltante cuando se hacer RT con menos rayos por pixel, para que sea menos costoso. Esto es uno de los aspectos, a parte del escalado, que en mi opinion hace que en el hard AMD cueste mas por ahora el RT, . En mi opinion, se estan empleando mas rayos, pues no se cuenta con un reductor de ruido-interpolador de muestras, que permitiera usar menos rayos y rellenar la informacion faltante ganando asi rendimiento. AMD dijo que se incluira en FidelityFX este reductor de ruido (es un modelo emparentado con el del escalador). Si por algun milagro salen con un modelo unico que pueda hacer las dos cosas a la vez, seria mucho mejor
-y finalmente en esto entran otras cosas como sistemas de IA muy avanzados que igualmente pueden acelerarse
DrKrFfXx
A mí el resultado del DLSS en 1440p no me termina de convencer, se ve más borroso que la resolución nativa, algunos juegos crean halos en el movimiento, unos más que otros. Prefiero 1440p nativos de aquí a Lima, en cuanto a definición.
Sin embargo, a mayores resoluciones, el sistema tiene más pixeles de los que alimentarse y generar detalle más convincente, lo más nítido que he visto toqueteando configuraciones es FFXV en 5K con DSR y DLSS a modo de supersampling, rescalado prácticamente 4:1 a 1440p. Los pelos de los personajes siempre parecían emborronados por el TAA y rematadamente pixelados sin él, en cambio con DLSS supersampling ves casi un render de película, con un detalle finísimo. FFVII así...
Chizko
Se dice que AMD lanzara su kit de fidelityFX con la super resolucion por separado de DirectML en un comienzo este año, pese a que trabajan junto a Microsoft por sobre todo en consola donde esperan usar esto para competir con el Checkerboard rendering de PS y dar el paso siguiente a la resolución dinámica actual, por algo Microsoft dice que el SoC de Series S|X es la versión completa de RDNA 2, además de tener núcleos de calculo dedicados.
Usuario desactivado
mirar aqui
cooltech.cubava.cu/2021/02/20/superresolucion-a-la-dlss-1-0-mi-propia-implementacion-con-geralt-de-rivia-como-conejillo/
vainillalake
Yo he probado el programa de Nvidia que incluye DLSS para hacer animaciones (Omniverse Create) y la verdad es que es impresionante D:!
Antes no podías hacer animaciones con luz y esas cosas porque para renderizar 1 sólo fotograma se tardaba horas incluso días!
Ahora con el DLSS y el Ray Tracing puedes renderizar una escena de una animación a 1080p en segundos. ¿Alguien podría decirme si esto se podía hacer antes? D:
Lo más cercano que conozco es el Unreal Engine, pero es que este programa se usa más para videojuegos, y el Omniverse Create es para animaciones y para creadores de contenido o.o