Usamos cookies y procesamos datos de tu navegación principalmente con fines técnicos, estadísticos y publicitarios; la utilización de nuestros servicios implica tu consentimiento. Más información en nuestra política de privacidad.

Tarjeta gráfica

En construcción.png

Este artículo está en construcción.

Por esta razón, seguramente habrá lagunas en el contenido o en el formato. Por favor, antes de cambiar el contenido, consulta la página de discusión del artículo.

Una tarjeta gráfica, tarjeta de vídeo o tarjeta aceleradora de gráficos es un elemento de hardware presente en todos ordenadores cuya función es la representación en un monitor de los datos facilitados por la CPU del ordenador. Se le llama así mismo a aquellas tarjetas dedicadas que no se encuentran dentro de la placa base y, por tanto, son tarjetas de expansión, sin embargo, muchas veces se les denota con el mismo nombre a los chips gráficos que se encuentran integrados en la placa base.

Contenido

Partes

PCB

Se trata de la placa en la que se insertan los diferentes componentes, además contiene los buses de comunicación entre estos, según la calidad de ésta se permite un mayor o menor voltaje, así como su frecuencia, suelen estar tintadas según el ensamblador de la tarjeta gráfica y en algunos casos las líneas de bus se imprimen con titas ultravioletas para que sean atractivas en caso de realizar modding.

GPU

La GPU, acrónimo de "Graphics Processing Unit", es un procesador que se dedica al procesado de información para la generación de los gráficos, su uso se debe a la necesidad de quitar la carga sobre la CPU, por lo que actualmente está optimizado en el cálculo en coma flotante (a pesar de que por cuestiones de compatibilidad mantiene la posibilidad de cálculos de enteros), que es el más usado en las funciones 3D. Al ser el elemento principal de la tarjeta gráfica, es el que determina la capacidad de la tarjeta para la representación de los gráficos, así podemos tener muchos modelos de chips con mayor o menor capacidad. Además su estructura está compuesta por varios segmentos de procesado:

Shaders: Los principales son el Vertex Shaders y el Pixel Shader. El primero se encarga de cálcular las coordenadas del espacio donde se situarán los vértices de los polígonos que serán dibujados. Los segundos se encargan de la iluminación de la escena que está siendo renderizada. Antiguamente estos shaders eran "fixed", es decir, siempre realizaban el mismo tipo de cálculos, actualmente, desde las GeForce 3, es posible programarlos para ejecutar código Shader, al gusto del programador. En tarjetas anteriores al DirectX 10 (Tarjetas hasta las GeForce 8800 y Radeon HD2900) los shaders en el interior de la tarjeta se encontraban divididos de forma que había diferentes "pipelines" para procesamiento de píxeles y procesamiento de vértices. Las GPUs a partir de las Geforce 8800 y Radeon HD2900 disponen de un array de procesadores programables para cálculos tanto de Pixel Shaders, de Vertex Shaders, Geometry Shaders e incluso cálculos GPGPU no necesariamente gráficos.

TMUs: Son las unidades que leen las Texturas desde una dirección y trabajan junto con los Pixel Shaders para aplicar esas texturas a la escena que está siendo renderizada.

ROPs: Son la última etapa de renderizado de la GPU donde se aplican cosas como el AA u otras últimas preparaciones antes de enviar la información para ser mostrada por pantalla.

Controladores de Memoria: Los controladores de memoria se encuentran dentro de la GPU para permitir el tráfico de información entre la GPU y los chips de memoria que forman la memoria de video (VRAM).

Video Engine o Video Codec: Se trata de una circuitería adicional incluída dentro de la GPU que permite la aceleración de diversos formatos de video como el MPEG2, DivX, H.264... De esta forma, se descarga a la CPU de hacer este tipo de procesado e incluso se reduce el consumo del PC cuando se están visualizando este tipo de contenidos.


Gpu.jpg

Memoria

La memoria de vídeo se encarga de almacenar los datos necesarios para la GPU, así pues, podemos encontrar datos que indican la posición de los vértices de los polígonos, como las diferentes texturas, por lo general, ésta última es la que obliga al aumento de memoria dentro de una tarjeta gráfica, pues las texturas son las que más espacio dentro de la memoria requieren. Dentro de los tipos de memoria que se utilizan, a parte de los chips que usan memoria compartida con la CPU, tenemos actualmente el uso de memoria DDR, DDR2, GDDR3 y GDDR4, a pesar de su nombre la DDR2 y GDDR3 no tienen nada que ver con la que se utiliza en la placa base.


Hynix.jpg

RAMDAC

Se trata de un conversor de señal digital de memoria RAM (incluída dentro de éste) a señal analogica (la que utilizan los monitores con entrada VGA), debido al aumento de monitores de señal digital cada vez se utiliza menos, y según la velocidad máxima actual (400 Mhz), se permite una resolución máxima de 2048x1536 y 32 bits de profundidad.

Salidas

Se trata de los sistemas de conexión entre la tarjeta gráfica y el elemento de visualización (monitor, televisor, proyector...), las principales creadas para monitores son:
  • VGA: Estandard analógico para monitores CRT, existen dos versiones, de 25 y 15 pines, pero la última es la que se emplea actualmente, es muy propenso al ruido y no muestra exactamente los colores debido a la conversión entre digital y analógico.
  • DVI: Actual estandard para la comunicación con los monitores y sustituto del anterior, se emplea principalmente para TFT, el uso de pantallas planas en televisores ha permitido su introducción en éstos, hay que diferenciar entre tres tipos DVI-D (digital), DVI-A (analógico) y DVI-I (ambos), en informática se utiliza principalmente el DVI-I, aunque se está dejando de usar por el DVI-D.
  • DisplayPort: Se trata de un nuevo estandard de puerto parecido al HDMI, con posibilidades de uso del HDCP, se trata de un estandard exclusivo para ordenadores.
También existen salidas para proyectores y para televisión:
  • Video Compuesto: Se trata de un conector basado en RCA analógico, sufre grandes problemas de ruido, era muy usado para la comunicación entre el VHS y el televisor, y es el usado en las nVidia anteriores a la GeForce de la serie 6.
  • S-Video: Estandard creado para la comunicación entre DVD y Video con el televisor, es de las salidas analógicas más utilizadas actualmente y de mayor calidad que el anterior al separar de la señal el brillo y color.
  • HDMI: Nuevo estandard de vídeo para alta definición, incorpora sonido en su versión 1.3, es completamente digital y posee seguridad HDCP.

Interfaz con placa base

Para la comunicación con la placa base se han definido nuevos interfaces que sustituyen al ISA y PCI, debido a que la tasa de transferencia es demasiado pequeña para una óptima comunicación entre la tarjeta gráfica y la CPU, además posibilitan el acceso a la memoria del sistema:
  • AGP: Se trata de un puerto de comunicación basado en el PCI 2.1, a diferencia del anterior, la velocidad aumenta de 33 Mhz hasta 66 Mhz en su primera versión y cuenta además con 8 canales adicionales para el acceso a memoria, existen diferentes estándares de éste, que son el AGP 1.1 (incluye a los AGP 1X y 2X), el AGP 2.0 (incluye el AGP 4X), y el AGP 3.0 (incluye el AGP 8X), los tipos de éste puerto son:
  • AGP 1X: velocidad 66 MHz, da una tasa de transferencia de 264 MB/s, y con voltaje de 3,3V.
  • AGP 2X: velocidad 133 MHz, da una tasa de transferencia de 528 MB/s , y con voltaje de 3,3V.
  • AGP 4X: velocidad 266 MHz, da una tasa de transferencia de 1 GB/s, y con voltaje de 3,3 o 1,5V, según éste posee la pestaña se encuentra en una u otra posición.
  • AGP 8X: velocidad 533 MHz con una tasa de transferencia de 2 GB/s y funcionando a un voltaje de 0,7V o 1,5V.
  • AGP Pro: es un estandard basado en los anteriores destinado para usarse en Workstations, es más largo que el estandard AGP para añadir más líneas de voltaje, su velocidad se basa en los anteriores.
  • PCI-Express: Se trata de un nuevo estandard de bus creado para sustituir tanto al PCI como al AGP, se basa en un bus de datos con comunicación en sere, en vez de en paralelo como los anteriores, se divide a su vez en varios conectores PCIe X1, PCIe X4, PCIe X8 y PCIe X16, el bus se divide en 32 enlaces y cada conector contendrá el número de enlaces que determina su numeración, el conector para tarjetas gráficas que se utiliza normalmente es el PCIe X16, lo que supone la mitad de velocidad del bus, si poseemos dos tarjetas en SLI o Crossfire, se usan como PCIe X8 (aunque depende de la placa base y de la tarjeta), existen ya tres revisiones sobre el mismo:
  • PCIe 1.1: Tiene un ancho de banda de 8 GB/s, de los cuales 4GB/s se destinan al PCI X16.
  • PCIe 2.0: Tiene un ancho de banda de 16 GB/s, de los cuales 8 GB/s se destinan al PCI X16.
  • PCIe 2.1: Tiene un ancho de banda de 32 GB/s, de los cuales 16 GB/s se destinan al PCI X16.
Como se ve, el PCIe X16 es sólo la cantidad de partes que se toman del PCIe, por lo que, para indicar una mayor o menor velocidad de éste, hay que fijarse en la revisión del estándard.

Sistemas de refrigeración

Debido a la necesidad creciente de un aumento de prestaciones, los chips gráficos, memorias, así como otros elementos, existe un aumento creciente en el voltaje necesario para su alimentación a la vez que un aumento en las temperaturas que generan para conseguir mayor velocidad, debido a ello se requieren de diferentes sistemas de refrigeración, de los cuales el principal se compone de:
  • Disipador: Se trata de un elemento pasivo de refrigeración, no tiene partes móviles, y se basa en la ley de intercambio de temperatura en el que a mayor superficie, mayor intercambio, por lo que a más grande sea, más bajará la temperatura de los chips, normalmente se fabrican en aluminio o en cobre, aunque el segundo posee mejores condiciones de intrecambio, tiene un mayor peso, lo que condiciona su uso. Además se suelen incorporar heat-pipes, unos tubos en cuyo interior se concentra un gas que hace exista una mayor distribución de calor en el disipador, es muy usado en sistemas exclusivamente pasivos.
  • Ventilador: Es el elemento activo de refrigeración y se combina con el anterior para generar un flujo de aire, y así aumentar el intercambio de calor, según su velocidad o tamaño puede aumentar el ruido producido por éste.
El aumento de necesidades de intercambio de calro ha hecho que en muchos casos se tenga que recurrir a tapar el puerto de expansión siguiente a la tarjeta gráfica, pero ello conlleva un gran aumento en el rendimiento del intercambio de calor al poder expulsar fuera el aire caliente. Otros métodos son el uso de sistemas de refrigeración líquida o por gas, pero su alto coste y necesidades de instalación hace que no sea un método muy usado.

Sistema de alimentación

El aumento de prestaciones ha acarreado un aumento en el consumo de las tarjetas gráficas, mientras que el puerto AGP sólo puede dar unos 42W y el PCIe llega hasta los 75W, el aumento de consumo es mayor al soportado por éstos, de ahí que se requiera el uso de energía a partir de la fuente de alimentación, mediante conectores molex de 4 pines (usados en bahías de 5,25" y discos duros, para tarjetas más antiguas) o conectores de 6 pines (para tarjetas más modernas, en algunos casos encontrandose hasta dos de estos conectores en la misma tarjeta). Actualmente se recomienda una fuente de alimentación de al menos 500W cuando se trata de fuentes de alimentación de marca.

Tecnologías

Las APIs

Una API es un conjunto de librerías destinadas a establecer una relación entre la tarjeta gráfica y el sistema operativo, mediante el uso de un código fuente, inicialmente la API que más se utilizaba era el OpenGL, que procedía de sistemas CAD, sin embargo, con el uso de tarjetas gráficas para juegos, se requería de APIs más especializadas que aumentaban así el rendimiento en éstas, con lo que 3dfx creó Glide, basada en ésta, aumentaba en gran medida su rendimiento y la calidad de visualización. Debido a la extensión de Windows 95, se requería de una API que tuviera una mejor relación con su sistema operativo, de aquí nació DirectX y dentro de ésta el Direct3D, la parte encargada de gráficos. El aumento de rendimiento y calidad tanto en DirectX como en OpenGL por parte, principalmente, de nVidia y después ATi, y la aparición de nuevas tecnologías como el T&L, y la poca versatilidad del Glide, al ser exclusivo de 3dfx, hizo que ésta última perdiera un gran terreno, y fue en parte la culpa de su desaparición.
Actualmente OpenGL y DirectX son las que se reparten el mercado, pero la última ha ganado mucho terreno en los últimos años gracias a su facilidad de programación, mientras que la primera está en proceso de renovación, aun así, sigue siendo la que más se utiliza en entornos profesionales.

Métodos para reducir los alias

El alias es un efecto en el cual existen grandes bordes entre diferentes puntos de una imagen, haciendo que se produzcan efectos dispares, las principales razones son:
  • La reducción de una imagen de alta resolución a una menor, los polígonos que generan la imagen se encuentran en una imagen virtual que al trasladarse a la imagen que se ve crean lo que se conoce como diente de sierra, en éste caso se usa el Anti-Alias, en el que se utiliza un algoritmo para generar un degradado entre los bordes de los polígonos, consiguiendo un efecto visual más real para el ojo humano.
  • El aumento del tamaño de las texturas, que provoca lo que se conoce comunmente como "pixelado", debido a ello utilizamos los filtros bilineales y trilineales, en los que mediante algoritmos se crea una imagen con mayor resolución y los pixeles que surgirían entre los ya dados en la imagen inicial son interpolaciones entre éstos.
  • La inclinación de una textura, provoca que la imagen en sí se vea borrosa debido a la generación de pixeles extraños al reducir su tamaño, por ello se utiliza un algoritmo anisotrópico, que evita la creación de esta borrosidad mediante el uso de mipmaps.

MIP Mapping

Consiste en la creación de texturas de menor tamaño ya filtradas que acompañan a la principal en relación de 1:2, 1:4, 1:8..., para que se represente de una manera más real cuando éstas se encuentran a una mayor distancias, y así evitar el procesado de texturas de mayor tamaño, aumentando el rendimiento.

Compresión de texturas

Debido al gran tamaño que requieren las texturas, al tratarse de imágenes, la gran cantidad de éstas para un mayor realismo, y al alto precio de la memoria para vídeo (pues ésta debe tener mayor velocidad que la principal), se requería un método para aumentar el número de texturas que se podían introducir en la RAM de la tarjeta gráfica, para ello inicialmente S3 creó S3TC (TC de texture compression), un sistema de compresión de texturas, que más tarde cogería Microsoft para su Direct3D 6.0 y lo llamó DXTC.

Bump Mapping

Se trata de un método mediante el cual con una textura en blanco y negro se aplica sobre un gráfico y se genera a efectos de luz un relieve aparente sobre la superficie de éste dependiendo del color de cada pixel de la textura, normalmente se realiza dentro de los Pixel Shaders. Inicialmente se incluyó en las tarjetas Matrox G400, y luego se extendió a las GeForce y Radeon, fue incluído en el Direct3D 6.0 y gracias a ésto y el anterior método, se convirtió en una estandard entre las APIs.

V-Sync

La sincronización vertical consiste en la representación de una imagen completa del buffer cuando ésta es representada en cada iteración del monitor o televisor, así se consigue que la imagen se vea completa sin que parezca que se pisa un trozo de la imagen sobre otro.

Transform & Lighting

O transform, clipping, and lighting, es una serie de procesos que consisten en: Transform, la representación virtual en tres dimensiones de un polígono se pasa a un entorno en dos dimensiones, Clipping, que consiste en la representación unicamente de aquello que se ve, es decir, se encuentra en el plano de visión, Lighting, la formación de sombras creada por los diferentes polígonos sobre la imagen en 2D. Éste proceso inicialmente se realizaba en parte por la CPU y posteriormente se pasaba a la tarjeta gráfica, con DirectX 7, se obligó su uso dentro de la GPU, con lo que se libera a la CPU de éste proceso.

Shaders

Son diferentes unidades de proceso, o pipelines, dentro de una GPU, debido a las necesidades que poseen los gráficos y la posibilidad de poder ejecutarse en paralelo los procesados de creación de polígonos y/o añadidura de texturas, se permite esta framgentación, haciendo que sea más rápido el procesado completo, se añaden con los DirectX 8 y suponen el mayor éxito de ésta API, entre éstos encontramos:
  • Vertex Shaders: Son los que se encargan de realizar las operaciones sobre los polígonos, cambiando sus posiciones, la textura aplicada y las características de luz.
  • Pixel Shaders: Son los encargados de realizar las operaciones sobre las texturas y sus píxeles, la aplicación de la textura sobre los vértices, los efectos de mapping, sombras sobre texturas y explosiones, se aplican después de pasar por los Vertex Shaders, y suelen ser de 2 a 4 veces más que los primeros.
  • Geometry Shaders: Son un requerimento por parte de los DirectX 10 para reducir el uso de la CPU en los procesos para gráficos, en ellos se generan los volúmenes de sombra, reflexiones y procesados en una pasada de formas complejas.
  • Shaders Unificados: Son la consecuencia de los requerimentos de DirectX 10 sobre los shaders, debido a que se requiere que todos los shaders posean la misma precisión, y por tanto tienen el mismo ancho, las empresas fabricantes de GPU han decidido crear un mismo tipo de shader que use todas las instrucciones y según éstas se comporten según uno de éstos tres usos, con ésto se consigue una mayor estabilidad de frames, porque no tiene tantos problemas cuando existen gráficos con alto contenido de polígonos y bajo de operaciones de texturas y viceversa, puesto que se rellenan según demanda y no provoca un desbordamiento de uno de los shaders, a su vez, implica un menor rendimiento en casos máximos de un 10% aproximadamente, al tener un uso más generalista y aceptar más tipos de instrucciones.

Shader Model

Se trata de un lenguaje de alto nivel para la programación de los shaders, que se incorpora con DirectX 9, con ello se crea un mejor uso de los shaders y aumenta la facilidad de programación. Los tipos de Shader Model son:
  • Shader Model 1.1: En realidad éste no existe como tal, pues sería la unión de las operaciones sobre Pixel Shader 1.1 a 1.4 y Vertex Shader 1.1
  • Shader Model 2.0: Se incluye en el DirectX 9.0, incluye las instrucciones Pixel Shader 2.0 y Vertex Shader 2.0
  • Shader Model 2.0a: Se incluye en el DirectX 9.0a, incluye optimizaciones para las GeForceFX, con los Pixel Shader 2.0a y los Vertex Shader 2.0a
  • Shader Model 2.0b: Se incluye en el DirectX 9.0b, incluye optimizaciones para la serie Radeon Xxxx, con los Pixel Shader 2.0b y los Vertex Shader 2.0
  • Shader Model 3.0: Se incluye en el DirectX 9.0c, usa Pixel Shader 3.0 y Pixel Shader 3.0, incluye un mayor número de instrucciones, menor límite de su uso, mayor número de registros y samples de texturas. Se basan en los Shader Model 2.0a.
  • Shader Model 4.0: Se incluye en los DirectX 10.0, incluye el nuevo shader geométrico, obliga a un mismo tamaño para shaders, mayor número de registros, de samples de texturas y de instrucciones, usan los Pixel Shader 4.0 y Vertex Shader 4.0
  • Shader Model 4.1: Se incluye en los DirectX 10.1, son una revisión del anterior con Pixel Shader 4.1 y Vertex Shader 4.0

GPGPU

General-Propose Computing on Graphics Processor Unit, se trata de una técnica para aprovechar el uso de éstos procesadores en aplicaciones no gráficas, debido a su paralelismo y mayor potencia en el procesado de unidades de coma flotante, sin embargo hasta ahora su uso es restringido por la utilización de 32 bits de precisión frente a los 64 bits que se requieren para uso científico, con la salida del RV670 de ATi y del G92 de nVidia se supone solucionado éste problema al usar unidades de coma flotante de doble precisión.
Para el uso de este tipo de computación tanto ATI como nVidia han desarrollado sus propios lenguajes de programación, Stream y CUDA respectivamente, aunque actualmente este último se encuentra más desarrollado. De esta manera es posible el uso de aplicaciónes como Codificación y Decodificación de Video, calculos de física o Folding@Home empleando la GPU, con el aumento de rendimiento que ello supone con respecto a una CPU tradicional. No obstante, con DirectX 11 se pretende mejorar este campo permitiendo que tanto las gráficas de ATI como de nVidia funcionen con el mismo lenguaje através de OpenCL y Compute shaders.

Historia

Tarjetas aceleradoras 2D

Debido a la aparición de los monitores para la representación en ésta de los datos del ordenador hacía que las CPU utilizaran gran parte de sus recursos para éste menester, por lo que es necesario el uso de un co-procesador para liberar a la CPU de éste uso. Inicialmente muy caros, con la aparición del IBM PC, un ordenador de bajo coste, se crea un nuevo chip el IBM 8514, que sería así el primer chip de gráficos de producción en masa, a partir del cual aparecerían varios clones como el Ati Mach8 y Mach32 o el IIT AGX, además se crearían en placas diferenciadas de la placa base, con lo que serían además las primeras tarjetas gráficas, a su vez, se establecían diferentes estándares para éstas como el EGA, CGA, VGA.
Con el requerimento de mayor potencia para la representación de los sistemas operativos basados en gráficos, como el Windows, en el caso del PC, se necesitaban de chips con mayor potencia, de aquí nace el S3C911 de la empresa S3, que sería el primer acelerador gráfico 2D en un chip, a partir de aquí diferentes empresas incorporarían en sus tarjetas gráficas el acelerador gráfico, impulsado además con la aparición de la API WinG de Windows 3.X, para 1.995, la mayor parte de éstas poseían un acelerador gráfico 2D.

Tarjetas aceleradoras 3D

Primeras tarjetas aceleradoras 3D

La expansión de los gráficos 3D
Inicialmente las tarjetas aceleradoras 3d eran una añadidura a una tarjeta gráfica 2D que se encargaba de los gráficos 2d, así, se tenía que crear un puente externo entre la VGA y la aceleradora, para más tarde enviar la información al monitor a partir de la aceleradora. Entre las primeras aparece la Voodoo de 3dfx que incluía una librería gráfica basada en OpenGL, llamada Glide, y supuso la primera tarjeta aceleradora 3D de éxito.
Mientras tanto, otras compañías que fabricaban chips gráficos en 2d hacían el paso hacia las 3d, donde ya se había asentado S3 con la serie ViRGE, un chip basado en el Trio64, y soporte para OpenGL y S3D, una librería exclusiva de S3. Entre las que se renovaban, se encontraban ATi la cual poseía una gran parte del mercado en las 2d de bajo coste con sus chips Mach-64, al que añadió un co-procesador en el chip para las 3d, naciendo así la gama Rage. Otra que se unía al carro fue Matrox, en su caso poseía un chip, el Mystique, que era bastante rápido, pero sin embargo no poseía la suficiente calidad gráfica como las anteriores, por lo que más tarde sacaría la serie Millenium, que tampoco tendría demasiada repercusión.
Por su parte Rendition creó el modelo Verité, que junto con el Voodoo fue uno de los que tendría más éxito inicialmente, al igual que los dos anteriores también poseía aceleración para 2D, además de una librería gráfica exclusiva. nVidia aparecía por primera vez con su modelo RIVA 128, una gráfica que incorporaba tanto 2D como 3D y con una gran potencia gráfica, y con un aumento en la resolución hasta 960x720, sin embargo sus drivers y escaso soporte para DirectX, hizo que tuviera grandes problemas en la calidad de representación.
Como respuesta a las anteriores 3dfx sacó al mercado la Voodoo Rush, pero en éste caso no tuvo gran éxito debido a la menor velocidad respecto al modelo exclusivo 3d por problemas entre la relación de los chips 2d y 3d para administrar la memoria.
La aparición de nuevas tecnologías
Más tarde 3dfx sacaría la Voodoo2, que supuso una gran revolución, que basado en el primer modelo, poseía una mayor potencia gráfica, con modelos de 8 y 12 MB, además de una nueva tecnología, el SLI, que permitía la unión de dos Voodoo2, en la que cada una de las gráficas se encargaban de la mitad de las líneas de representación, con el incremento consiguiente de velocidad, así se creaba el modelo más potente de para las 3d con 24 Mb de RAM, resolución aumentada hasta 1024x768 y tres tarjetas gráficas sobre la placa base (las 2 Voodoo2 y la VGA para 2D).
Como respuesta a la Voodoo2, diferentes compañías sacarían nuevos modelos al mercado, entre ellas estarían Matrox con el G200, que sería el primer chip con soporte nativo para el bus AGP, con mayor calidad de representación, gracias a los 32 bits de profundidad, sin embargo no llegaba a la potencia de una Voodoo2 en DirectX, aunque le andaba cerca, y ésta se veía muy reducida en OpenGL. Ati sacaría al mercado el Rage Pro, también con soporte para AGP, pero con un rendimiento menor a la Voodoo y algo superior a la RIVA 128, pero que se hizo un pequeño hueco en el mercado. S3 tendría el modelo Savage3D, un chip completamente nuevo que no estaría basado en el Trio64, y que incluía grandes mejoras como compresión de texturas y filtro trilinear, sin embargo seguía teniendo problemas con los drivers, así como las ensambladoras, pues salvo Hércules, ninguna de las de mayor calidad se interesó en éste producto.
Las respuesta más enérgica vino por parte de nVidia que sacó su modelo RIVA TNT, el cual poseía 32 bits de profundidad, al igual que el Matrox G200 y al contrario de las Voodoo2, además de incluir filtro trilinear, en las pruebas se veía tan potente o más que su principal competidora, tanto en OpenGL como con Direct3D, sin embargo el hecho de que algunos juegos como Quake II incluyera la API MiniGL hacía que fuera más potente la Voodoo 2 al estar pensado en exclusiva para ésta tarjeta, además el pensamiento de que el mejor driver para gráficos fuera el Glide, junto con la novedad como fabricante de nVidia hizo que no tuviera tanto éxito. También se creó un modelo más cercano al consumidor con la versión VANTA, que era el mismo chip con menor frecuencia de reloj, la mitad de ancho de bus, pero que fue muy popular gracias a su bajo precio.
Junto con Voodoo2, 3dfx decidió sacar al mercado la Voodoo Banshee, una tarjeta gráfica que fue realizada por la demanda de los consumidores hacia 3dfx de tener sólo un mismo dispositivo tanto para 2D como 3D, al incluir dentro de un mismo chip un acelerador 2D y una versión del chip Voodoo2 recortada, su potencia no era tan alta en 3D como el de ésta cuando se incluían múltiples texturas por ciclo, pero cuando se trataba de una sóla textura por ciclo la superaba, además era más barata que ésta y tuvo un gran éxito, aunque no tanto como las anteriores de 3dfx y con una gran competencia por parte de nVidia.
El inicio del fín de 3dfx

Tarjetas con soporte Transform & Lighting

La incorporación del T&L: DirectX 7
El inicio de los Vertex y Pixel Shaders: DirectX 8
La programación con Shaders: DirectX 9
Las tarjetas de shaders unificados DirectX 10