Gráficos VGA en retrospectiva

El 2 de abril de 1987, IBM lanzó al mercado el sucesor del PC ATPC AT bajo el nombre de PS/2. Basado en el Intel 386, introdujo una serie de novedades como los famosos puertos para ratón y teclado, pero especialmente lo que se convertiría en el estándar gráfico durante más de 25 años en el mundo de los ordenadores. Hablamos del VGA o también conocido como Video Graphics Array.

VGA, el estándar definitivo para los gráficos vía CRT en PC

El VGA es producto de la integración continua y la reducción de componentes que se dio en el mundo del PC con el paso del tiempo, si bien buena parte del chipset EGA ya se había reducido al máximo posible en lo que a componentes y tamaño se refiere, todavía existían algunos componentes que se instalaban de forma externa al chip principal. No obstante, con el nuevo estándar las cosas cambiaron por completo y tanto los registros de la paleta de colores como el conversor digital a analógico se integraron en un mismo chip junto al controlador CRT.

IBM PS/2 anuncio Por lo que excepto por la memoria de vídeo, la cual a día de hoy sigue siendo externa al controlador gráfico, todo quedó unificado en una sola pieza. Marcando de esta manera cuál terminó siendo el futuro de las tarjetas gráficas a partir de ese momento. No obstante, el VGA no terminó por adoptarse de forma masiva hasta la aparición de Windows 3, al ser uno de los requisitos mínimos para usar la interfaz gráfica de Microsoft, por lo que de 1987 a 1991 se vendió como la opción más cara, pero con el paso del tiempo y el abaratamiento de la tecnología se terminó adoptando masivamente.

Más bien, el suceso se produjo por el salto de MS-DOS a Windows 3, donde los ordenadores clónicos del primer IBM PC con CGA dieron paso a sistemas cuya configuración mínima paso a ser el 386 con una tarjeta VGA, dejando desfasados al resto de estándares anteriores.

En principio, solo era para IBM

Durante varios años hubo dos estándares peleados en lo que al conector de la tarjeta de vídeo se refiere: por un lado, el MCA de IBM y, por el otro, el EISA de los diferentes fabricantes. Sin embargo, IBM, al ser el único cliente de sus tarjetas gráficas, terminó por integrar el controlador VGA en la placa base de sus sistemas. Un ejemplo fue en el IBM PS/1, una versión low cost del PS/2 aparecida a principios de los 90 y que fue, para quien esto escribe, su primer ordenador.

Tarjeta Gráfica Conector Dual

Esto llevó a la existencia de alguna que otra tarjeta gráfica con doble conector para poderse usar en un clónico o en un sistema de IBM, una estupidez que duro un largo tiempo, al menos está la estandarización del puerto PCI, el cual se dio cuando Intel dejo atrás la forma AT para introducir la ATX en 1995, la cual incluía este tipo de puertos y solucionaba buena parte de los problemas de ancho de banda de los estándares anteriores y agregaba la capacidad de poder conectar la tarjeta gráfica en caliente.

El MCGA

No todos los IBM PS/2 adoptaron el VGA como estándar gráfico, ya que los modelos de gama baja trajeron consigo un adaptador gráfico llamado CGA, el cual, en vez de usar una configuración de 256 KB de VRAM de doble puerto, utilizaba una de 64 KB, la cual soportaba los siguientes modos gráficos:

  • Modo texto de 40 x 25 caracteres de 8 x 16 píxeles con 16 colores por píxel.
  • Modo de mapa de bits a 320 x 200 píxeles a 256 colores por píxel.
  • Modo texto de 80 x 25 caracteres de 8 x 16 píxeles con 16 colores por píxel.
  • Modo de mapa de bits a 640 x 480 píxeles a 4 colores por píxel.

VGA PS/2 IBM

Por lo que no soportaba modos gráficos más avanzados por falta de memoria, pero también por el hecho de ser compatible hacia atrás con EGA, pero sin con CGA, por lo que no soportaba cosas como el uso de múltiples páginas, planos de bits y sobre todo los registros internos llamados latches. De ahí a que el MCGA se perdiera en el tiempo y no se convirtiera en el estándar de facto. Es más, fuera de algún modelo puntual, el Multicolor Graphics Array no se utilizó más allá de los primeros modelos del PS/2.

VGA como sucesor de EGA

En comparación con EGA, VGA mejoró la resolución vertical de 350 líneas a 480 líneas. Esto llevó a que soportase 3 frecuencias horizontales: 15.7 KHz para la compatibilidad hacia atrás con CGA, 21,8 KHz para EGA y 31,4 KHz para la resolución VGA, la cual era de 640 x 480 píxeles. No obstante, no soporta el modo de 16 colores a 160 x 200 del Color Graphics Array, dado que la salida de vídeo del Video Graphics Array no va por vídeo compuesto, sino que está subdividido por componentes.

Fate Atlantis VGA

En cuanto al colorido, su paleta de colores es de 262144 colores, gracias a tener un DAC de 18 bits. Ahora bien, pese a soportar 8 bits por píxel (256 colores) y resoluciones a 640 x 480, ambas cosas no se pudieron dar hasta la mejora del estándar en forma de Super VGA. Por lo que “solo” soporta 16 colores a 640 x 480 píxeles. No obstante, la clave se encontraba en el llamado Modo X, que funciona a 320 x 240 píxeles y a 256 colores u 8 bits por píxel, lo que fue clave para la transformación del PC para ser viable como plataforma de videojuegos, ya que lo coloco por encima en capacidades en comparación con el Commodore Amiga.

¿Por qué el Modo X cambió las cosas?

El ancho de banda necesario para la resolución de 320 x 240 con 8 bits por píxel es la mitad que la de la resolución de 640 x 480 con 4 bits por píxel. Lo cual permite usar doble búfer de imagen a través de Page Flipping. Una técnica en la que se usan múltiples páginas de memoria de vídeo para intercambiar rápidamente entre fotogramas sin que haya parpadeo por el medio. Esto además permite separar la creación del búfer de imagen del envío de la misma al monitor.

Duke Nukem 3D

Para lograrlo era clave la memoria VRAM de doble puerto, cuya principal característica es que tiene dos canales de comunicación. Mientras un puerto está siendo utilizado para escribir datos (por ejemplo, para actualizar el búfer de imagen), el otro puerto se utiliza para leer datos (por parte del controlador para enviar la información a pantalla). Esto permite un flujo de datos continuo sin que una operación bloquee a la otra, lo que reduce la latencia y mejora el rendimiento.

Latches en VGA

Sin embargo, el modo X no se encontraba en el MCGA, pero sí en el VGA, debido a que este viene de la compatibilidad hacia atrás con EGA, donde tenemos 4 planos, pero en vez de soportar un plano por bit, soporta un byte entero. Es aquí donde entran los llamados “latches”, donde el controlador VGA soporta uno por plano, teniendo un total de cuatro. Pero, ¿qué son los Latches? Se trata de registros internos en el controlador VGA que se utilizan para almacenar y manipular datos antes de ser escritos o leídos desde la memoria de video.

Jazz Jackrabbit

Esto permite realizar lo siguiente en un controlador VGA:

  • Aplicar operaciones lógicas (AND, OR, XOR, NOT) a los datos antes de escribirlos en la VRAM, similar a cómo un Blitter maneja gráficos.
  • Si varios píxeles consecutivos utilizan el mismo valor de color, permite reutilizar el valor almacenado en los latches, lo que reduce el número de envíos desde la CPU a memoria.
  • Permite realizar operaciones de «Barrel Shifting» o de reordenamiento de bits de forma automática, lo que también permite implementar scroll horizontal por hardware.

No obstante, no se trata de un Blitter al uso, ya que no tiene la capacidad de copiar bloques de memoria de una dirección a otra a gran velocidad y en este caso sigue siendo la CPU la encargada de gestionar el búfer de imagen.

El puerto VGA

Se trata del puerto de vídeo analógico más popular de todos, incluso a día de hoy se siguen fabricando monitores con una entrada VGA, lo que dice mucho de la importancia del mismo en el mundo de la informática, ya que solo fue reemplazado tras la llegada de las pantallas de pantalla plana basadas en tecnologías LCD.

Conector VGA SVGA

En cuando a su pinout, dispone de 3 pines para el envío de la señal de color, uno para cada componente RGB (rojo, verde y azul) y luego otros 3 pines para controlar la señal de vídeo, uno para indicar que se están enviando datos desde el subsistema gráfico, otro para la sincronización horizontal y un último para la sincronización vertical con los que se controla el funcionamiento del haz de electrones del monitor. El resto de ellos son para la alimentación y la toma de tierra.

No obstante, pese a mantener la forma durante muchos años, la realidad es que la frecuencia de funcionamiento fue aumentando a medida que se iban lanzando versiones más avanzadas del estándar, funcionando el cable original a una frecuencia de 14 MHz y aumentándose a los 27 MHz para el Super VGA y soportando hasta los 116 MHz para las diferentes versiones del estándar.

Super VGA y más allá

Pronto las limitaciones en resolución y color del estándar VGA se vieron limitantes, especialmente a medida que la capacidad de la memoria de vídeo fue un aumento y aparecieron monitores con la capacidad de soportar memorias más altas. No obstante, tras el fiasco del PS/2, IBM no estaba muy por la labor de crear un nuevo estándar estando ella sola y, de cara a ir más allá, nadie se ponía de acuerdo.

Tarjeta SVGA Matrox Mystique

El problema venía por el hecho de que SVGA no fue jamás un estándar gráfico y cada fabricante aplicaba formas de llegar al resultado final. Esto hacía que el software tuviese que interactuar con el hardware de la forma correcta y con decenas, por no decir centenares de tarjetas gráficas de distintos fabricantes en el mercado. Eso se convirtió en un problema enorme, lo que llevó a la creación de la VESA, un organismo común entre los diferentes fabricantes que creó drivers genéricos para todas las tarjetas SVGA en el mercado.

Pero, ¿qué trajo la evolución del VGA? Pues el hecho de poder usar un DAC que permite 16.7 millones de colores distintos, gracias a pasar a ser de 24 bits, pero también con el tiempo de modos de color de 16, 24 y 32 bits por píxel. Todo ello manteniendo el formato de funcionamiento estándar del VGA. Claro está y como es obvio, con el paso del tiempo las capacidades avanzadas de las tarjetas SVGA terminaron por reemplazar al Modo X como modo gráfico estándar para los videojuegos de PC.

¿Sigue existiendo el estándar a día de hoy?

A día de hoy, muy pocos modelos de monitor soportan VGA. La gran mayoría, al igual que las tarjetas gráficas, han dejado el estándar atrás, como un recuerdo del pasado. Eso se debe a que ya no se utilizan monitores de tubo, sino de pantalla plana. Por lo que la funcionalidad del Video Graphics Array ha desaparecido de los ordenadores contemporáneos. Por si fuese poco, los gráficos en dos dimensiones se construyen a día de hoy utilizando shaders de computación en las GPU 3D actuales, lo cual puede parecer sorprendente, pero tiene sentido desde el momento en que no es necesario renderizar una escena en tres dimensiones y no es necesario el pipeline especializado para ello.

Puerto VGA junto HDMI

Ahora bien, esto no significa que el VGA haya desaparecido del todo, ya que sigue existiendo de forma emulada en las GPU, las cuales pueden ejecutar gráficos en VGA y Super VGA para poder ejecutar el software antiguo. Con esto terminamos, esperamos que os haya gustado este artículo. No olvidéis en darnos apoyo compartiendo este artículo en vuestras redes sociales y si consideráis que nuestro trabajo lo merece, apoyarnos económicamente.

5 1 vote
Article Rating
Subscribe
Notify of
guest

2 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
LordC
LordC
5 days ago

Como siempre interesatísimo pero revisa la redacción, algunas erratas, algunos errores de formateo, alguna inconsistencia en denominaciones.

LordC
LordC
5 days ago

¿Podrías profundizar en el tema de los shaders para el 2d? Gracias

2
0
Would love your thoughts, please comment.x
()
x