Actualizado a: 22 de enero de 2024
La memoria VRAM o Video RAM es uno de los elementos más importantes cuando se trata de un equipo que se va a utilizar para tareas gráficas. De ella dependerá en gran medida el rendimiento que se puede extraer de la GPU. Por este motivo, vamos a dedicar este artículo a ver qué secretos guarda esta memoria y cuál es su naturaleza.
Quizás también te puede interesar leer:
GPU: una «CPU» para gráficos
Cuando se trata de una tarjeta gráfica, como bien sabrás, es casi como una placa base en sí misma, con una unidad central de procesamiento, en este caso una GPU dedicada a los gráficos, también tiene una memoria RAM, en este caso la VRAM que veremos con más detalle en este artículo, un firmware o BIOS, la propia PCB fabricada por fabricantes que también tienen experiencia en las placas base como ASUS, Gigabyte, ASRock, MSI, etc.
En caso de ser una iGPU o GPU integrada, en ese caso compartirá un espacio de la memoria RAM reservado para la GPU, y el resto será empleado por la CPU. Por tanto, se podría considerar a esa porción de la memoria principal como la VRAM para las iGPUs, aunque no tenga exáctamente las mismas características que la GDDR.
VRAM vs RAM
La VRAM es un tipo de memoria física similar a la RAM. En algunos casos, la RAM también se utiliza para fines gráficos, como en las iGPUs, donde se comparte con la CPU. Sin embargo, las necesidades de la GPU y la CPU son diferentes. La GPU necesita una mayor latencia, ancho de banda y velocidad debido a la cantidad de núcleos que maneja y el paralelismo requerido para procesar grandes cantidades de datos de forma masiva, como ocurre en el procesamiento gráfico con flujos SIMD. En estos casos, se reserva una parte de la memoria principal para uso exclusivo de la GPU, lo que puede limitar la capacidad de la CPU.
Para satisfacer las necesidades de la GPU, se ha desarrollado una versión de memoria RAM especialmente optimizada para las GPUs, llamada GDDR. Aunque se basa en la memoria RAM DDR convencional, la GDDR tiene importantes mejoras en el bus y la velocidad para cumplir con las exigencias de la GPU en términos de ancho de banda, velocidad y latencia.
En algunos sistemas, como los dispositivos móviles, las videoconsolas modernas y los procesadores Apple M-Series, se utiliza un sistema de memoria unificada llamado Unified Memory. En estos sistemas, la CPU y la GPU comparten el mismo espacio de direcciones de memoria RAM, lo que significa que no es necesario tener copias idénticas de conjuntos de datos para la CPU y la GPU. Aunque la memoria RAM no está optimizada para cumplir con las necesidades de la GPU en términos de ancho de banda y velocidad, algunos sistemas utilizan directamente la GDDR en lugar de la memoria RAM unificada, como es el caso de la APU AMD en la PlayStation 5 de Sony. Esto permite tener una memoria optimizada específicamente para la GPU.
Diferencias GDDR vs DDR
Mientras la DDR está usada por la CPU, y en algún caso por la iGPU como he comentado anteriormente, la GDDR es una memoria especialmente diseñada para la GPU:
- DDR (Dual Data Rate): es un tipo de memoria SDRAM (Synchronous Dynamic Random Access Memory) que sirve para almacenar todos los datos e instrucciones de los programas que debe ejecutar la CPU. En caso de ser una iGPU, también tendrá una porción de esta memoria reservada para la GPU, en algunas arquitecturas inaccesible para la CPU, en otras se trata de una memoria unificada como en los sistemas HSA. Además, la memoria principal o memoria RAM para la CPU, puede estar implementada en módulos, como los DIMM, o también soldada en la propia PCB.
- GDDR (Graphics DDR): también son chips de memoria con celdas SDRAM, e incluso están basados en las especificaciones de la DDR, también suelen estar fabricadas por los mismos fabricantes como SK Hynix, Micron, Samsung, etc. Sin embargo, en este caso será solo accesible por la GPU, y tendrá algunas diferencias con la DDR para potenciar las necesidades de la GPU, que es una unidad de procesamiento con un mayor grado de paralelismo frente a la CPU. Por otro lado, en este caso, siempre estará soldada en la PCB.
En resumen, las principales diferencias entre los dos tipos de memoria son:
Especificaciones | DDR | GDDR |
---|---|---|
Ancho de banda | Bajo | Alto |
Consumo de energía | High | Low |
Calentamiento | Higher | Lower |
Rendimiento | Low | High |
Capacidad | Low | High |
Frecuencia de reloj | Low | High |
Coste | Less | More |
¿Qué es la memoria VRAM?
Antes de continuar hablando sobre la capacidad necesaria, es fundamental que comprendas qué es la VRAM y su función en el sistema. La VRAM (Video RAM) es una memoria de acceso aleatorio, similar a la RAM de la CPU, pero que se encuentra especialmente dedicada a la GPU. En esta memoria se almacenan los datos necesarios para representar los píxeles, texturas, mallas y otros elementos del framebuffer en el monitor. Es importante mencionar que, en muchos sistemas, la VRAM no se puede acceder de la misma forma que la RAM convencional, ya que no está mapeada o visible para el programador.
Es esencial tener en cuenta que la GPU también necesita recibir información desde la CPU, como la posición de los objetos y datos de la física para procesar los gráficos. Por consiguiente, estos datos necesarios también se almacenan en la VRAM, y no solo los resultados.
Historia de la VRAM
Frederick Dill, Daniel Ling y Richard Matick fueron los que inventarían la VRAM mientras trabajaban en el centro de investigación de IBM. Sin embargo, en aquel momento no se llegó a patentar, hasta 5 años más tarde de aquel acontecimiento. Y fue en 1986 cuando se emplearía por primera vez para un PC comercial, concretamente para el adaptador gráfico del IBM PC RT.
Después del lanzamiento de esta PC, los costos de producción de la memoria VRAM de doble puerto disminuyeron, lo que permitió a otros fabricantes utilizarla en sus productos de aceleración gráfica o tarjetas gráficas. Este hecho marcó un punto de inflexión en el mundo de los gráficos, ya que se mejoró la velocidad y la calidad hasta nuestros días. No obstante, ha habido algunos intentos de sustituirla por la HBM, pero ésta memoria es más cara y su capacidad más limitada, lo que ha hecho que no triunfe en el mundo del PC…
Tipos de VRAM
A lo largo de la historia, se han desarrollado multitud de tipos de VRAM diferentes, aunque muchos en la actualidad solo recuerden las versiones más recientes como la GDDR4, GDDR5 O GDDR6.
- SONIC: la memoria SAM era un tipo de registro lineal que se utilizaba en algunas tarjetas gráficas antiguas para almacenar los datos necesarios para la conversión de señal digital a analógica que se requería para la conexión a los monitores antiguos que solo tenían puertos analógicos.
- CDRAM (Cache DRAM): se trata de una memoria gráfica que combina características de la memoria estática SRAM y de la memoria dinámica DRAM, y que se utiliza como caché para acelerar los gráficos. Sin embargo, esta memoria era costosa y su capacidad estaba limitada.
- MDRAM o Multibank DRAM: es un tipo de memoria RAM de alta velocidad que fue creada por la empresa MoSys Inc. Esta memoria se divide en bancos DRAM de 32KB cada uno, lo que permite acceder de manera individual a cada banco. Aunque esta memoria ya no se utiliza en la actualidad, en el pasado se empleó en algunos dispositivos como la Hercules Dynamite 128, que tenía 4MB de MDRAM.
- Rambus VRAM: la compañía Rambus patentó también un nuevo bus para acelerar el flujo de datos entre la VRAM y el buffer de trama.
- 3D RAM: Mitsubishi creó esta memoria gráfica que incluía lógica adicional, como una ALU, que permitía realizar operaciones de cálculo para realizar pruebas del Z-Buffer. Estas tarjetas gráficas se utilizaron para estaciones de trabajo Sun Microsystems que se basaban en procesadores UltraSPARC.
- SGRAM (Synchoronous Graphics RAM): básicamente es una memoria VRAM basada en celdas SDRAM con un precio de producción relativamente bajo, pero con solo un puerto de acceso, aunque podía actuar como una memoria de doble puerto al abrir dos páginas de memoria al mismo tiempo.
- WRAM (Windows RAM): no tiene nada que ver con el sistema operativo, se trata de otra VRAM de alto rendimiento con dos puertos y con un gran ancho de banda. Fue usada, por ejemplo, en tarjetas gráficas como la Number Nine Revolution 3D, o en la Matrox MGA Millennium.
- RAM extendida o compartida: la shared memory se emplea cuando la GPU es integrada, como he comentado anteriormente. No se trata de una VRAM dedicada en sí, sino que es básicamente una DDR que también puede usar la GPU, junto con la CPU. En muchos casos se puede modificar el tamaño del espacio reservado para la GPU desde el BIOS/UEFI.
- HBM (Alto Bandwidth Memory): la HBM es una memoria de alta velocidad que fue implementada en las tarjetas gráficas AMD Radeon Fury. Aunque ofrecía un mejor rendimiento que la GDDR, era más costosa y tenía una capacidad limitada. Debido a estas desventajas, AMD finalmente optó por pasar a la GDDR, aunque la HBM todavía se utiliza en el sector de la informática de alto rendimiento (HPC).
- GDDR (Graphics DDR): la GDDR (Graphics Double Data Rate) es un tipo de memoria SDRAM DDR diseñada específicamente para tarjetas gráficas, que se diferencia de la DDR convencional por tener tiempos de acceso más cortos y frecuencias de reloj más altas. A lo largo del tiempo, han surgido diversas generaciones de GDDR, como la GDDR3, GDDR4, GDDR5, GDDR6, entre otras, cada una con mejoras en cuanto a velocidad y capacidad.
- GDDRX: un ejemplo es la GDDR6X empleada por NVIDIA para sus tarjetas gráficas más recientes. Se trata de una versión mejorada de la GDDR6 para ganar más rendimiento y que ha sido desarrollada de forma conjunta con Micron. Una de las características más destacadas es que emplean codificación PAM4 para el bus de datos en vez de NRZ como la GDDR6 convencional.
Ahora ya tienes un poco más claro lo que es la memoria VRAM, las diferencias con la RAM, etc. Sigamos viendo algunos temas interesantes relacionados…
Cómo saber cuánta VRAM tengo
Si deseas saber cuánta memoria VRAM tienes en tu tarjeta gráfica, puedes seguir los siguientes pasos que te explico para los diferentes sistemas operativos:
- Microsoft Windows 10 en adelante:
- Abre Configuración.
- Dentro de la ventana ve a Sistema.
- Accede a Pantalla.
- Luego a Pantalla avanzada.
- En las propiedades del adaptador podrás ver una línea con la memoria de vídeo dedicada.
- GNU/Linux (Ubuntu):
- Ve a Preferencias del Sistema de tu distro.
- Haz clic en Acerca de este sistema.
- Después mira la información del apartado de Hardware, y allí podrás ver la cantidad de memoria.
- Apple macOS:
- Pincha en el icono de la manzana en la parte superior izquierda.
- Luego en Acerca de este Mac en el menú desplegable.
- Mira el apartado de Gráficos. Si es un Apple M-Series, recuerda que será unificada y compartida con el resto de SoC.
También pues usar herramientas de terceros para conocer detalles y la cantidad de memoria VRAM que tienes en tu equipo. Por ejemplo, te recomiendo usar GPU-Z de TechPowerUp disponible para Microsoft Windows. Una vez descargada la app, ejecuta esta y mira el apartado Memory Size de la pestaña Graphic Card.
¿Se puede aumentar la VRAM?
Responder a esta pregunta no es tan sencillo, habrá que analizar cada caso particular. Por ejemplo, puedes guiarte por estos puntos:
- Tienes un PC con una tarjeta gráfica dedicada o dGPU:
- En caso de ser un sobremesa, deberás cambiar la tarjeta gráfica por una superior para poder ampliar la memoria VRAM.
- En caso de ser un portátil con la gráfica dedicada, entonces tampoco podrás cambiar la capacidad de la VRAM, ya que estarán los chips soldados a la placa base. Algunos portátiles tienen módulos tipo MXM, en cuyo caso, tendrías también que cambiar el módulo de la tarjeta por una superior, aunque no suele haber demasiadas opciones a elegir.
- Si tienes un PC o portátil con una iGPU Intel o una APU de AMD o cualquier otra iGPU integrada, como la de algunos SoCs ARM, etc., entonces se podría cambiar la cantidad de memoria RAM compartida con la GPU en algunos casos. Para ello, podrías usar varios métodos:
- Algunos sistemas admiten modificar la capacidad de memoria RAM compartida destinada a la GPU desde el BIOS/UEFI:
- Accediendo al menú, del Setup.
- Luego en pestañas como Advanced Features o Chipset o similares, dependiendo de la marca del firmware.
- Dentro de la Graphics Configuration o Video Configuration o similares.
- Y allí buscar opciones como VGA size memory o el VRAM size para modificarlas. Esto dependerá de la cantidad de memoria RAM que tengas instalada, por ejemplo, con 4 GB de RAM podrías usar 512 MB, con 8 GB podrías usar 1 GB, con 16 GB puedes usar 2 GB para gráficos, etc.
- Desde el registro de Windows también se podría modificar. Para ello, los pasos a seguir son:
- Pulsa Windows + R.
- Escribe regedit y pulsa INTRO.
- Busca la entrada HKEY_LOCAL_MACHINE\Software\Intel o AMD (según tu caso).
- Clic con el botón derecho en Intel o AMD.
- Selecciona Nuevo.
- Luego Clave.
- Ponle el nombre GMM.
- Tienes que usar DedicatedSegmentSize y asignarle un valor Decimal. Pone el número de memoria que quieras dedicar.
- Finalmente, reinicia el sistema.
- Algunos sistemas admiten modificar la capacidad de memoria RAM compartida destinada a la GPU desde el BIOS/UEFI:
- Si tienes un Mac con GPU dedicada:
- Si es una de AMD o una NVIDIA (en modelos más antiguos), siempre podrás cambiar la tarjeta gráfica por un modelo soportado que tenga más memoria VRAM si existe.
- En caso de ser un MacBook con GPU dedicada, no se podrá sustituir al estar soldada en la placa base, como ocurre con el resto de portátiles.
- Si tienes un Mac con iGPU
- En caso de ser una iGPU de Intel, no se podrá aumentar la memoria destinada a gráficos.
- Si tienes un Apple M-Series, tampoco podrás cambiarlo, ya que tiene memoria unificada y es la que es para el modelo de SoC que hayas comprado.
- También podrías hacer uso de una GPU externa, como admiten algunos sistemas portátiles, y que esta eGPU tenga una VRAM superior, como las que se conectan por Thunderbolt.
- Para equipos de sobremesa, existe la alternativa de usar una configuración multi-GPU, si tienes un slot PCIe x16 disponible para agregar una segunda tarjeta gráfica y que trabajen juntas.
¿Cómo se calcula la memoria necesaria según la resolución?
Es posible que tengas conocimiento de la cantidad de memoria VRAM necesaria para cada resolución de pantalla, pero ¿sabes cómo se calcula? Un ejemplo común es el cálculo del tamaño del framebuffer necesario para una resolución FullHD de 1920×1080 píxeles y un color de 32 bits:
- 1920×1080 = 2073600 píxeles totales en la pantalla
- 2073600 x 32-bit = 66355200 bits
- 66355200 / 8 = 8294400 Bytes
- 8294400 / 1024 = 8100 KB
- 8100 / 1024 = 7,9 MB
Es cierto que con 8MB de VRAM se podría mostrar una sola imagen en resolución FullHD, pero eso no es suficiente para gráficos dinámicos en el mundo real. Se necesitan capacidades mayores debido a que se deben almacenar muchos otros valores y copias de texturas de renderizado. Además, las copias dobles o triples de los datos también pueden requerir aún más capacidad. Por lo tanto, las capacidades de VRAM actuales son necesarias para garantizar un rendimiento gráfico óptimo y una experiencia de juego fluida. La GPU también puede almacenar copias internas y transformadas de las texturas de renderizado para evitar la repetición de envíos de texturas desde la CPU.
La cantidad de memoria VRAM que se tenga en la tarjeta gráfica es fundamental para lograr un buen rendimiento en videojuegos y aplicaciones gráficas. Esto se debe a que la cantidad de memoria disponible determina la calidad de imagen que se puede lograr, los tiempos de carga y las resoluciones que se pueden manejar. Si la tarjeta gráfica no cuenta con suficiente VRAM, se llenará rápidamente y provocará una importante disminución en el rendimiento. Muchos afirman que 4 GB de VRAM son suficientes para ejecutar juegos AAA a 1080p, mientras que se necesitan 8 GB para resoluciones UHD. Sin embargo, se ha demostrado que esta afirmación no siempre es cierta en la actualidad.
Entonces: ¿cuánta VRAM necesito?
Por lo general, deberías seguir estas directrices sobre la cantidad de VRAM que necesitas para gaming y uso particular:
- 2 GB para títulos ejecutados en 720p.
- 4 GB para títulos ejecutados a resolución 1080p.
- 6 GB para juegos en 1440p.
- 8 – 12 GB para 2160p o 4K.
En caso de querer una tarjeta gráfica para trabajos profesionales, como la renderización, edición, etc., entonces las capacidades recomendadas son:
- 8 GB para 720p a 1080p.
- 16 GB para 4K.
- 32 – 64 GB para 8K, para usos comerciales.
¿Son cifras exactas?
Como sabrás, en las nuevas generaciones de tarjetas gráficas, se ha optado por poner un mínimo de 8GB de VRAM en algunos casos. Sin embargo, esto está generando mucho revuelo entre algunos usuarios de la red que claman que no es suficiente para jugar a títulos AAA actuales con configuraciones gráficas altas, incluso si se está utilizando para resoluciones 1080p o FullHD.
El motivo de estas preocupaciones y de que los 8GB como mínimo sea una cifra confusa es que la capacidad necesaria no solo dependerá de la resolución como creías. También influyen otros aspectos como
- Tipo de videojuego: cada título AAA puede necesitar más o menos capacidad de VRAM dependiendo de factores como su optimización, el realismo de sus gráficos, etc.
- Configuración gráfica: ya que según la configuración o calidad elegida por el usuario, la cantidad de VRAM empleada puede subir o bajar.
- Motores gráficos o Game Engines: al ser más avanzados y con gráficos cada vez más realistas, están disparando la cantidad de VRAM necesaria. Un ejemplo de ello es el famoso Unreal Engine 5, que necesita algo más que 8 GB como para fluir de forma correcta.
Actualmente, se puede decir que los 12 GB son los nuevos 8GB. Por tanto, mejor adquiere una gráfica con al menos 12 gigas.
En el futuro, los desarrolladores de videojuegos se enfrentarán a un gran desafío si desean llegar a un público más amplio que tenga tarjetas gráficas con solo 8 GB de VRAM, ya que será cada vez más difícil que los nuevos títulos funcionen en estas tarjetas, incluso si están optimizados. Esto se debe a que la calidad de los gráficos actuales y las nuevas tecnologías gráficas requieren cada vez más datos almacenados en la VRAM, lo que aumenta su consumo de espacio. La VRAM no solo almacena texturas, sino también mallas, shaders, framebuffers y otros datos necesarios para renderizar la escena, como objetos, valores de shaders e información de iluminación.
Espero que ahora te haya quedado algo más claro qué es la VRAM, para qué se utiliza, y cuánta deberías tener…
Interesante y se agradece. Lamentablemente no explicaste cuál es el mínimo de RAM que debe tener una laptop o PC para el caso de que tenga una iGPU…8GB, 16GB y cuánta de esa RAM ocuparía la iGPU…