Las tarjetas gráficas han cambiado gracias a la caché, y no nos hemos dado cuenta

El mundo de las tarjetas gráficas ha pasado por numerosas evoluciones con el paso de los años que han ido transformando, de forma total o parcial, las claves más importantes que rodean a este componente. Pensad, por ejemplo, en lo que supuso la integración del motor de transformación e iluminación acelerado por hardware, en los sombreadores programables o en la llegada de los shaders unificados, que marcó un salto tan enorme que definió el estándar que todavía se utiliza a día de hoy.

En 2018 tuvo lugar otro cambio importante que marcó el inicio de una apuesta por la especialización, gracias a la introducción de los núcleos tensor y los núcleos RT en las GeForce RTX 20, un movimiento que acabó «creando escuela» y que ha definido a las últimas generaciones de tarjetas gráficas que han llegado al mercado, puesto que tanto las Radeon RX 7000 como las Intel Arc cuentan con hardware especializado para IA y para acelerar trazado de rayos.

Sin embargo, también se ha producido otro cambio muy interesante con el lanzamiento de las Radeon RX 7000 y GeForce RTX 40 del que pocos han sido verdaderamente conscientes, y es tan importante que podría acabar definiendo también el futuro de las tarjetas gráficas incluso a largo plazo, la especialización por gamas en resoluciones específicas debido a la propia arquitectura de cada tarjeta. ¿Te has perdido? Pues no te preocupes, sigue leyendo que te lo voy a explicar.

Tarjetas gráficas y su dependencia de la caché y del bus

La verdad es que AMD fue la primera en seguir este enfoque, es decir, en tomar el camino del uso de configuraciones de caché y buses especializados en resoluciones concretas con la serie Radeon RX 6000, un enfoque que culminaron con las Radeon RX 7000, y que al final NVIDIA ha acabado adoptando a su manera.

Por ejemplo, las Radeon RX 6600 y Radeon RX 6600 XT son dos tarjetas gráficas que dan lo mejor de sí en resolución 1080p, pero pierden rendimiento en 1440p, mientras que la Radeon RX 6700 XT se mueve como pez en el agua en 1440p y pierde también bastante rendimiento en 4K.

En el caso de sus rivales más cercanos nos encontramos con un panorama distinto, ya que con la GeForce RTX 3060 no se produce una pérdida tan abultada de rendimiento al subir a 1440p, y la GeForce RTX 3060 Ti también aguanta mucho mejor la subida a 4K, de hecho pierde contra la Radeon RX 6700 XT en 1440p pero le gana en 4K.

caché infinita en tarjetas gráficas AMD

Todo esto tiene una explicación, y está en los buses de memoria y en las cachés. Las Radeon RX 6600 y 6600 XT tienen buses de 128 bits y dependen de un bloque de caché L3 de 32 MB para compensar el ancho de banda que ofrece dicho bus. En 1080p, la caché L3 es suficiente para conseguir una buena tasa de aciertos cuando la GPU busca en la caché para minimizar los accesos a la memoria gráfica, pero cuando subimos a 1440p nos falta caché L3 para mantener una buena tasa de aciertos, hay que recurrir más a la memoria gráfica y las limitaciones a nivel de ancho de banda se empiezan a notar.

NVIDIA compartió una gráfica muy interesante sobre este tema que os dejo justo debajo de estas líneas. Contar con una mayor cantidad de memoria caché L2 puede reducir la cantidad de acceso a la memoria gráfica hasta en un 60%, siempre que nos movamos dentro de la resolución óptima para cada tipo de configuración. En este ejemplo sería 1080p.

La GeForce RTX 3060 tiene un bus de 192 bits, y este le permite mantener un mayor ancho de banda que no se «agota» cuando subimos la resolución, lo que le permite aguantar mucho mejor el tipo en resoluciones superiores, de hecho pierde frente a la Radeon RX 6600 XT en 1080p, queda muy cerca de ella en 1440p y le gana en 4K.

Con la Radeon RX 6700 XT pasa lo mismo, sus 96 MB de caché L3 y su bus de 192 bits marcan una diferencia sustancial frente a las anteriores, y permiten conseguir un rendimiento totalmente óptimo en 1440p, pero no es una configuración ideal para 4K, lo que hace que se produzca una pérdida de rendimiento mayor de lo normal si comparamos, por ejemplo, con una tarjeta gráfica sin caché L3 que tenga un bus de 256 bits, como es el caso de la GeForce RTX 3060 Ti.

Tener una caché L3 en una tarjeta gráfica nos permite contar con un bloque de memoria muy cercana a la GPU, con un acceso más rápido y una latencia menor de la que presenta la memoria gráfica, y esto se traduce en un ancho de banda mucho mayor. Sin embargo, la capacidad de la misma marcará la cantidad de instrucciones y datos que podemos almacenar, cuantos más tengamos almacenados más aciertos cosechará la GPU, y menos llamadas tendrá que hacer a la memoria gráfica, lo que supondrá una mejora de rendimiento.

Cuando aumentamos la resolución esos datos y elementos que debemos almacenar en la caché pesan más, es decir, ocupan más espacio, y esto reduce la efectividad de la caché y aumenta la cantidad requerida para que siga siendo efectiva. Si no aumenta la capacidad de forma proporcional la tasa de aciertos bajará, y la GPU tendrá que realizar más búsquedas en la memoria gráfica a través del bus del sistema. Si dicho bus es de 128 bits el ancho de banda será más bajo que si tenemos un bus de 256 bits, y esto afectará negativamente al rendimiento.

Como he dicho anteriormente, NVIDIA ha seguido el mismo camino con las GeForce RTX 40, aunque lo ha hecho a su manera. Los de verde han mantenido un bus de 384 bits en la GeForce RTX 4090 y han utilizado un bus de 256 bits en la GeForce RTX 4080, dos configuraciones que son óptimas para resoluciones 4K, y ha acompañado a ambas de una enorme cantidad de caché L2.

Este tipo de caché es más rápida que la caché L3, y presenta una latencia menor porque está más cerca de la GPU, así que tiene un rendimiento pico superior. Su única contrapartida es que su capacidad es menor si la comparamos con la caché L3, de hecho AMD pudo montar 96 MB de L3 en las Radeon RX 7900 XTX mientras que NVIDIA solo llegó a los 72 MB de L2 en la GeForce RTX 4090.

Ambos tipos de cachés funcionan de la misma manera, almacenan datos y elementos a los que la GPU puede acceder a mayor velocidad y se ven afectadas de la misma forma por los aumentos de resolución, pero en este caso NVIDIA ha sabido jugar mejor sus cartas porque ha utilizado una caché más rápida, y porque ha mantenido un bus de mayor tamaño en la GeForce RTX 4090.

El camino a la especialización por resoluciones

Este giro total que se ha producido a favor de dar un mayor peso a la memoria caché de las tarjetas gráficas nos ha llevado a un escenario muy concreto que, en líneas generales, se gira alrededor de una mayor especialización por resolución objetivo. La reducción de los buses de memoria y el aumento de las cachés ha sido especialmente grande dentro de la gama media, y también en lo que podemos considerar como gama media-alta y gama alta de entrada.

Vamos a ver un ejemplo concreto. La Radeon RX 7600 es una tarjeta gráfica que está diseñada para dar lo mejor de sí en 1080p, esto no quiere decir que no pueda mover juegos en 1440p, pero sí que significa que en dicha resolución perderá bastante rendimiento porque no está construida para trabajar de forma óptima con esa resolución. Lo mismo sucedería por ejemplo con la GeForce RTX 4060, que es una solución ideal para 1080p.

Una GeForce RTX 4060 de referencia ofrece un rendimiento prácticamente idéntico a la GeForce RTX 2080 en 1080p, pero pierde frente a esta en 1440p y 4K porque la segunda aguanta mejor el aumento de resolución gracias a su bus de 256 bits. La primera tiene un ancho de banda de 272 GB/s, y la segunda alcanza los 448 GB/s.

En una situación similar se encuentra la GeForce RTX 4060 Ti, que muestra su mejor cara en 1080p, mientras que las GeForce RTX 4070 y GeForce RTX 4070 Ti despliegan su máximo potencial en 1440p. Una vez más esto no quiere decir que no sean capaces de mover juegos en 4K, de hecho pueden hacerlo sin problemas, pero esa no es una resolución óptima para su configuración a nivel de bus de memoria y caché.

Vamos con otra comparativa sencilla, la GeForce RTX 4070 Ti gana a la GeForce RTX 3090 Ti en 1080p, pero pierde frente a esta en 1440p y la diferencia entre ambas se agranda en 4K. De nuevo, esto se debe a la configuración de cachés y buses de memoria. La primera tiene un bus de 192 bits y 48 MB de L2 para compensar ese ancho de banda de 504 GB/s, mientras que la GeForce RTX 3090 tiene 6 MB de caché L2, pero dispone de un bus de 384 bits que le permite alcanzar un ancho de banda de 1.008 MB/s.

Esto tiene un lado positivo y un lado negativo. La parte positiva es que gracias a este cambio es posible crear tarjetas gráficas que ofrecen un mayor rendimiento en la resolución objetivo con un coste menor, y superar incluso en ese nivel a tarjetas gráficas más caras y tragonas. Sin ir más lejos, la Radeon RX 6600 está solo un poco por debajo de la GeForce RTX 2070 en 1080p.

El lado negativo es que dichas tarjetas gráficas se adaptan peor a los cambios de resolución, aunque por suerte esto es algo que podemos compensar fácilmente gracias a los avances que se han producido en el mundo del reescalado y la reconstrucción de la imagen. Con una GeForce RTX podremos activar el DLSS 2, y si tenemos una GeForce RTX 40 tendremos también la opción de utilizar DLSS 3 en juegos compatibles, mientras que con las tarjetas gráficas AMD podremos utilizar el FSR2. En el caso de las Intel Arc podremos utilizar el XeSS.

La entrada Las tarjetas gráficas han cambiado gracias a la caché, y no nos hemos dado cuenta se publicó primero en MuyComputer.


Comentarios

Entradas populares de este blog

Audi Q3, cortejos

Hyundai Staria, calibre

Seat Ateca, vistas