Disruptive Ludens

Blog personal sobre tecnología

¿Por qué las RX 6000 > RTX 3000 en 3Dmark?

A pocos días de la presentación de las RX 6000 de AMD, sus tarjetas gráficas basadas en RDNA 2, nos encontramos con que se han filtrado los resultados de algunos benchmarks donde la nueva familia de AMD parece tener ventaja sobre las RTX 3000 de NVIDIA.

Pues bien, creo que es importante explicar cuales son los motivos por los cuales se dan estos resultados.

RX 6000 vs RTX 3000: dos planteamientos distintos

NVIDIA ha apostado por duplicar la cantidad de unidades FP32 dentro de cada SM, el equivalente a la Compute Unit de AMD, mientras que AMD no lo ha hecho y ha apostado por subir la velocidad de reloj en su nueva generación de GPUs.

Pero para entender las ventajas de cada planteamiento hemos de entender como funciona el pipeline 3D en DirectX 11 y 12.

DX12 Pipeline

Las partes marcadas con verde oscuro son aquellas que son ejecutadas no como shaders y por tanto no se ejecutan dentro de las SM/CU sino en partes no programables, se trata de unidades microcableadas y por tanto de función fija, las cuales a partir de unos datos de entrada realizan una serie de operaciones.

Dichas operaciones siempre se realizan a la misma tasa y dependen sobretodo de la velocidad de reloj de la GPU y es en este punto donde la cosa se pone interesante.

El primer punto clave es el rasterizado

Existe una étapa en concreto en la que AMD tendrá una enorme ventaja.

Toda la parte conocida como el Screen-Space pipeline es la que es computacionalmente más pesada y la que más depende de unidades de función fija para conseguir todo su rendimiento.

Los llamados screen-space fragments hacen referencia a la etapa de texturizado en la que:

  • La cantidad de fragmentos de entrada dependen del rendimiento de la unidad de rasterizado.
  • La cantidad de texeles que son tratados por los Pixel/Fragment Shaders dependen de las unidades de texturas.
  • La cantidad de pixeles ya tratados por los Pixel/Fragment Shaders depende de los ROPS.
rasterizado

La etapa de rasterizado es aquella etapa donde la geometría 3D es proyectada y convertida en fragmentos en 2D que luego serán texturizados, este proceso lo realiza la unidad de rasterización por lo que la cantidad de fragmentos a texturizar dependerá de la velocidad a la que funcione ducha unidad.

El segundo punto clave es el Ray Tracing

La otra parte que depende de la velocidad de una unidad de función fija es el Ray Tracing, solo hay que ver el pipeline para entenderlo.

ray tracing pipeline

La cosa es muy simple, la cantidad de intersecciones que la unidad de intersección pueda realizar va a poner un limite al trazado de rayos, pero aquí nos encontramos con que no conocemos el rendimiento real de dicha unidad en la arquitectura RDNA 2.

La RTX 3000 no es peor que laRX 6000

RTX 3000

En las etapas Shader y sobretodo las que no dependan de ningún tipo de unidad de función fija veremos como las RTX 3000 vencen y son mucho más rápidas, y la cantidad de etapas que dependen de los shaders de manera pura y dura son muchas más, aunque eso si, la de los Pixel/Fragment Shaders es en la que más datos se llegan a procesar durante el renderizado.

La mejor manera de comprobarlo es tirar de un programa que analice etapa por etapa del pipeline gráfico donde cada arquitectura tiene más ventaja sobre la otra para tener una idea más aproximada. Por lo que el rendimiento dependerá de como este planteado cada juego.

Esto es todo, tenéis los comentarios para decir vuestra opinión de esta entrada, cualquier post fuera del tema de la misma o que sea irrespetuoso será borrado sin contemplaciones, por otro lado recordad que el blog también tiene un servidor de Discord donde podéis entrar.

5 3 votes
Article Rating
2 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Over

Traigo un link sobre realidad virtual, latencia y tiempo de fotón:

https://www.reddit.com/r/oculus/comments/jgfoco/oculus_link_bitrate_settings_latency/

Resulta que el Rift original tenía una latencia total (incluida persistencia e input lag de pantalla) de 15 a 25 ms.

Rift S de 30 a 38 ms

Y en Quest 2 comprimiendo la imagen en h264 con 500 mbps es de 42 ms (conectado al pc por usb C). Habría que ver cómo encajan los múltiplos de fotogramas, porque puede camuflarse o suponer otro fotograma de lag respecto a rift s, y por lo tanto usar uno extra a modo de buffer, como con el vsync.

Last edited 1 month ago by Over
Matias

Me explicas que tiene que ver con el post? Para proponer temas está el discord.