8. La tarjeta gráfica

08_Tarjeta_grÆfica_OK.qxp 27/07/2006 10:40 PÆgina 293 8. La tarjeta gráfica La función de la tarjeta gráfica es preparar las imágenes que se mostr

11 downloads 82 Views 646KB Size

Recommend Stories


TARJETA SOL - LA RIOJA
Actualizado a Enero 2015 TARJETA SOL - LA RIOJA Comercio Domicilio CP Localidad "SANTUC" ARTESANIA JOY.Y RELOJ. 25 DE MAYO 74 23 5300 LA RIOJA

MANUAL DE LA TARJETA PLC1.01
MANUAL DE LA TARJETA PLC1.01 PROGRAMABLE EN LENGUAJE LADDER A TRAVÉS DEL SOFTWARE WLP 12/2006 Software de la PLC1: V2.0X 0899.5552 S/4 Resumen de

TARJETA ESTUDIANTIL INTELIGENTE TUI
TARJETA ESTUDIANTIL INTELIGENTE TUI ¿Qué es la tarjeta TUI?   La Tarjeta Universitaria Inteligente (TUI) es una credencial personalizada con los datos

TARJETA GOLD AMERICAN EXPRESS
TARJETA GOLD AMERICAN EXPRESS. CONDICIONES DE LOS SEGUROS. TARJETA GOLD AMERICAN EXPRESS CONDICIONES DE LOS SEGUROS Seguros contratados por American

Story Transcript

08_Tarjeta_grÆfica_OK.qxp

27/07/2006

10:40

PÆgina 293

8. La tarjeta gráfica La función de la tarjeta gráfica es preparar las imágenes que se mostrarán en el monitor. Ya se habían fabricado tarjetas gráficas usando todo los tipos de bus existentes, ISA, PCI, y también MCA, EISA y VLB. Sin embargo, en la actualidad sólo utilizamos tarjetas gráficas PCI o AGP, con una predominancia general de las tarjetas AGP que al utilizar un bus más rápido casi siempre incorporan más recursos y nos ofrecen un mejor rendimiento. Algunos años atrás, lo más común eran los ordenadores equipados con tarjetas gráficas y monitores CGA, que además de generar una imagen de bajísima calidad, no nos permitían trabajar con una buena interfaz gráfica. De la misma manera que los demás componentes del ordenador, las tarjetas gráficas y los monitores también evolucionaron de una forma increíble en estas dos últimas décadas, permitiéndonos tener imágenes casi perfectas. A continuación trataremos las tecnologías utilizadas en las tarjetas gráficas, estudiando la evolución de los distintos formatos de vídeo. MDA y CGA: los primeros PCs sólo disponían de dos opciones de vídeo, MDA (Monocrome Display Adapter) y CGA (Graphics Display Adapter). Entre los dos formatos, el MDA era el más antiguo y estaba limitado a la exhibición de textos con una resolución de 25 líneas por 80 columnas, permitiendo mostrar 2.000 caracteres por pantalla en total. Como el propio nombre sugiere, el MDA era un formato de vídeo que no soportaba la representación de más de dos colores. Para quienes necesitaban trabajar con gráficos, existía la opción del formato CGA, que podía exhibir gráficos en una resolución de 320 x 200. Pese a que el modo CGA poseía una paleta de 16 colores, sólo se podían representar 4 colores a la vez. El formato CGA también podía trabajar con una resolución de 640 x 200, pero sólo mostrando textos en modo monocromático, como en el formato MDA. A pesar de ser extremadamente anticuados para los formatos actuales, el MDA y el CGA eran un buen recurso para los primeros equipos PC, ya que debido a sus limitados recursos de procesamiento se encontraban restringidos básicamente a interfaces de solamente texto. 293

08_Tarjeta_grÆfica_OK.qxp

27/07/2006

10:40

PÆgina 294

Ampliar, configurar y reparar su PC EGA (Enhanced Graphics Adapter): para equipar el PC AT, lanzado en el año 84, la casa IBM desarrolló un nuevo formato de vídeo, bautizado como EGA. Este nuevo formato soportaba la representación de gráficos con una resolución de hasta 640 x 350, con la representación simultánea de hasta 16 colores, que podían elegirse en una paleta de 64 colores. A pesar de los nuevos recursos, el formato EGA mantenía una total compatibilidad con el CGA. Una tarjeta gráfica y un monitor EGA eran el equipo mínimo a nivel de vídeo para poder ejecutar Windows 3.11. Sólo Windows 3.0 o Windows 3.11 soportaban la ejecución en sistemas equipados con vídeo CGA. Para la ejecución de Windows 95/98, el requisito mínimo ya era el formato de vídeo VGA. VGA (Video Graphics Adapter): el VGA fue una gran revolución respecto a los patrones de vídeo más antiguos, soportando una resolución de 640 x 480, con 256 colores simultáneos, que podían elegirse de una paleta de 262.000 colores. Un poco más tarde, el patrón VGA fue perfeccionado para trabajar con resolución de 800 x 600, con 16 colores. A pesar de los avances, se mantuvo la compatibilidad con los patrones GCA y EGA, lo que permitía ejecutar las aplicaciones más antiguas sin problemas.

Tarjeta gráfica VGA con 512 KBytes de memoria

Súper VGA: una evolución natural del VGA, el SVGA es el patrón actual. Una tarjeta gráfica SVGA es capaz de utilizar y exhibir hasta 32 bits de memoria, es decir, varios millones de colores. Esto es suficiente para que el ojo humano no consiga percibir diferencias en las colores de una imagen exhibida en el monitor y de una foto coloreada. Justamente por ello, las placas de vídeo SVGA son también conocidas como de color verdadero o True Color.

8.1 2D vs 3D Las tarjetas gráficas más antiguas sencillamente recibían las imágenes y las envían al monitor. En ese caso, el procesador era el encargado de realizar todo el trabajo. Este sistema sólo funcionaba bien cuando trabajábamos con gráficos en dos dimensiones, en las aplicaciones de Office o accediendo a Internet por ejemplo, ya que este tipo de 294

08_Tarjeta_grÆfica_OK.qxp

27/07/2006

10:40

PÆgina 295

Tarjeta gráfica imagen exige poco procesamiento para generarse. Éstas eran las famosas tarjetas 2D, como por ejemplo las tarjetas Trident 9440 y Trident 9680.

Una tarjeta gráfica con acelerador 2D

Las placas 2D fueron usadas sin mayores reclamaciones durante más de una década. El problema surgió al intentar ejecutar juegos 3D o los programas que utilizan gráficos tridimensionales. Entonces surgió la necesidad de usar las tarjetas gráficas 3D. La función de una tarjeta gráfica 3D es auxiliar al procesador en la creación y exhibición de las imágenes tridimensionales. Como ya sabemos, en una imagen tridimensional existen tres puntos de referencia: anchura, altura y profundidad. Un objeto puede ocupar cualquier posición en el espacio de tres dimensiones, inclusive estar detrás de otro objeto. Los gráficos tridimensionales son, actualmente, cada vez más utilizados, tanto para aplicaciones profesionales (animaciones, efectos especiales, creación de imágenes, etc.), como para el entretenimiento en forma de juegos. La mayoría de los títulos lanzados actualmente utilizan toda la gama de gráficos tridimensionales. No es difícil entender los motivos de esta fiebre por las imágenes tridimensionales: los juegos en 3D presentan unos gráficos mucho más realistas, movimientos más rápidos y unos efectos imposibles de conseguir usando los gráficos de dos dimensiones. Una imagen en tres dimensiones está formada por polígonos, formas geométricas como triángulos, rectángulos, círculos, etc. Una imagen en 3D está formada por miles de estos polígonos. Cuántos más polígonos, mayor es el nivel de detalle de la imagen. Cada polígono tiene su posición en la imagen, un tamaño y un color específicos. Para conseguir una imagen más real también se aplican texturas sobre los polígonos. El uso de texturas no se encuentra limitado sólo a superficies planas. Es perfectamente posible moldear una textura sobre una esfera por ejemplo. 295

08_Tarjeta_grÆfica_OK.qxp

27/07/2006

10:40

PÆgina 296

Ampliar, configurar y reparar su PC El proceso de creación de una imagen tridimensional se encuentra dividido en tres etapas, llamadas de dibujo, geometría y renderización. En la primera etapa, se crea una descripción de los objetos que componen la imagen, es decir: qué polígonos forman parte de la imagen, cuál es su forma y su tamaño, cuál es la posición en la imagen de cada polígono, cuáles serán los colores usados y, por último, qué texturas y efectos 3D se aplicarán. Después se entra en la fase de geometría, donde se crea la imagen y se almacena en la memoria. Al final de la etapa de geometría ya tenemos la imagen lista. Sin embargo, tenemos un problema: el monitor del equipo, así como otros medios planos (TV, papel, etc.) sólo son capaces de mostrar imágenes bidimensionales. Entramos entonces en la etapa de renderización. Esta última etapa consiste en transformar la imagen 3D en una imagen bidimensional, que es la que será mostrada en el monitor. Esta etapa es más complicada de lo que parece, ya que es necesario determinar (desde el punto de vista del espectador o usuario) qué polígonos son visibles, aplicar los efectos de iluminación adecuados, etc. A pesar de que el procesador también es capaz de crear imágenes tridimensionales, él solo no es capaz de generar imágenes de calidad a grandes velocidades (como las demandadas por los juegos) pues estas imágenes exigen un número abundante de cálculos y procesamientos. Para empeorar más la situación, el procesador también tiene que ejecutar, simultáneamente, varias tareas más relacionadas con el programa en sí. Las tarjetas aceleradoras 3D poseen procesadores dedicados, cuya función es únicamente la de procesar las imágenes, lo que pueden hacer a una velocidad increíble, dejando libre el procesador principal para ejecutar otras tareas. Con ellas, es posible construir imágenes tridimensionales con una velocidad suficiente para crear juegos complejos. Es necesario recordar que una tarjeta gráfica 3D sólo mejora la imagen en las aplicaciones que hacen uso de imágenes tridimensionales. En aplicaciones 2D, sus recursos especiales no se usan. La conclusión es que si sólo pretendemos trabajar con aplicaciones de despacho, Internet, etc. no existe ninguna necesidad de gastar dinero en una tarjeta 3D, ya que no usaríamos su potencial. En este caso, podemos usar sin problemas el vídeo onboard de la placa base o una tarjeta gráfica un poco más antigua. Sin embargo, si el equipo va a utilizarse para juegos es fundamental poseer una tarjeta gráfica 3D. Sin una tarjeta 3D, la mayoría de los juegos actuales se volverían lentos incluso en un equipo con un procesador de última generación. Actualmente, todas las tarjetas gráficas que encontramos a la venta, incluso los modelos más simples, poseen recursos 3D, pero existen variaciones en términos de precio y rendimiento.

8.1.1 La memoria Como el procesador, la tarjeta gráfica también usa memoria RAM, memoria que sirve para almacenar las imágenes que se están creando.

296

08_Tarjeta_grÆfica_OK.qxp

27/07/2006

10:40

PÆgina 297

Tarjeta gráfica En una tarjeta gráfica 2D, la cantidad de memoria no interfiere absolutamente nada en el rendimiento de la tarjeta, sólo determina las resoluciones y la cantidad de colores que serán soportados. Por ejemplo, una tarjeta antigua con sólo 1 MB de memoria, será capaz de mostrar 16 millones de colores (24 bits) con una resolución de 640 x 480 o 65.000 colores (16 bits) a 800 x 600. Una tarjeta con 2 MB ya sería capaz de exhibir 16 millones de colores con una resolución de 800 x 600. Una tarjeta con 4 MB sería capaz de alcanzar los 16 millones de colores con una reolución de 1280 x 1024.

Una tarjeta gráfica que utiliza módulo SO-DIMM de memoria gráfica

Para tener una buena definición de colores, el mínimo necesario es el uso de 16 bits de memoria y lo ideal son 24 bits. Algunas tarjetas también soportan el uso 32 bits de memoria, pero tratándose de imágenes 2D los 32 bits corresponden exactamente a la misma cantidad de colores que con los 24 bits, es decir, 16 millones. Sencillamente, los 8 bits adicionales no se usan. Ya que estamos tratando este tema, otra configuración importantísima es la tasa de refresco o actualización del monitor. Generalmente, esta opción aparece en el cuadro de diálogo de propiedades del monitor (Panel de control/Pantalla/Configuración/ Opciones avanzadas/Monitor).

8.1.2 La frecuencia de actualización del monitor La frecuencia de actualización se refiere al número de veces por segundo que la imagen es actualizada en el monitor. Lo ideal es usar una frecuencia de actualización de aproximadamente 75 Hz, o más. Usando una tasa menor tendremos un fenómeno llamado flicker, donde la pantalla queda bastante inestable. Una cosa que ayuda mucho a disminuir el flicker es bajar el brillo del monitor. Lo ideal es usar la pantalla lo más oscura posible, siempre que sea confortable naturalmente. Una indicación es dejar el control de brillo casi al mínimo y ajustar sólo el con297

08_Tarjeta_grÆfica_OK.qxp

27/07/2006

10:40

PÆgina 298

Ampliar, configurar y reparar su PC traste. Cuanto mayor es la tasa de actualización y menor sea la claridad de la imagen, menor será el flicker y menor será el cansancio de los ojos. Las tasas de actualización máximas dependen de la tarjeta gráfica y del monitor. Si elegimos una frecuencia que no sea soportada por el monitor, la imagen aparecerá desenfocada. Cuánto más baja sea la resolución elegida, mayor será la tasa de actualización soportada por el monitor. Las mismas tarjetas gráficas también pueden limitar la resolución máxima soportada. Una tarjeta antigua, una Trident 9680 por ejemplo, no conseguía trabajar con más de 70 Hz de refresco a 1024 x 768, el vídeo onboard que equipa las placas base con el chipset i815 es capaz de trabajar con una resolución de 1024 x 768 con una tasa de refresco de 85 Hz, pero de sólo 70 Hz a 1152 x 864. Pero, cuando hablamos de imágenes en 3D la cosa cambia bastante de panorama. Primero porque al procesar una imagen 3D la tarjeta no usa la memoria de vídeo sólo para almacenar la imagen, sino que sobre todo, la usa para almacenar las texturas que se usan. En los juegos actuales cada vez se usan más texturas cada vez mayores. Es justamente por esto que las tarjetas gráficas actuales son tan poderosas. Para hacernos una idea, en la época del 386 una buena tarjeta gráfica venía con un procesador simple, con 20 o 30 mil transistores, y 256 KB de memoria. La Voodoo 6, un monstruo que no acabó saliendo al mercado, a pesar de tener un poder de proceso formidable, traía cuatro procesadores trabajando en paralelo con casi 15 millones de transistores cada uno y 128 MB de memoria. Volviendo al tema principal, en una tarjeta gráfica 3D la cantidad de memoria no determina la resolución que podrá usarse, pero sí el rendimiento de la tarjeta. El motivo es simple, si las texturas usadas no cupiesen en la memoria de la tarjeta, tendrán que ser almacenadas en la memoria RAM y leídas usando el bus AGP. En este caso, tenemos el problema de una enorme pérdida de rendimiento, pues se pierde más tiempo al leer una textura almacenada en la memoria RAM del equipo que al leerla si estuviese almacenada en la memoria de la tarjeta gráfica, que es mucho más rápida.

8.1.3 Las ventajas En los juegos, las dos principales diferencias entre una tarjeta 3D lenta y otra rápida son la calidad de la imagen, que incluye la resolución de pantalla, el número de colores y los efectos 3D que se usarán, y el frame-rate, el número de cuadros generados por segundo. La función de la tarjeta gráfica 3D es básicamente dibujar las imágenes y mostrarlas en el monitor. Cuánto más poderosa es la tarjeta, más polígonos será capaz de dibujar y más texturas será capaz de aplicar en el mismo periodo de tiempo. En un juego hay que renderizar la imagen de cada cuadro. Cuánto más potente es la placa, más cuadros es capaz de generar. Cuántos más cuadros es capaz de generar por segundo, más perfecto es el movimiento de la imagen. Para que no sea posible percibir cualquier error en la fluidez de la imagen, lo ideal serían 30 cuadros por segundo como mínimo. Para poder tener una idea, una TV exhibe 24 cuadros y en los dibujos animados se 298

08_Tarjeta_grÆfica_OK.qxp

27/07/2006

10:40

PÆgina 299

Tarjeta gráfica varía entre los 16 y 24 cuadros. Es por ello que los 30 cuadros son el valor considerado ideal en el mundo de los juegos. Con menos empezarían a aparecer saltos, sobre todo en las escenas más cargadas. Cuanto mayor es la resolución usada, mayor el número de colores y mayor el número de efectos, mayor es el trabajo de la tarjeta gráfica para generar cada cuadro y, consecuentemente, más bajo será el frame-rate. Existe una relación inversamente proporcional entre las dos cosas. La resolución de las imágenes 3D puede elegirse en el propio juego, en el menú de las opciones de las imágenes. En el cuadro de diálogo de las propiedades de pantalla de Windows podemos configurar algunas opciones más de la tarjeta gráfica.

El cuadro de diálogo de las propiedades de pantalla con sus fichas

Usando una tarjeta gráfica moderna podremos jugar a nuestros juegos favoritos con la mejor calidad de imagen posible, usando una resolución de 1024 x 768, 32 bits de memoria, etc. 299

08_Tarjeta_grÆfica_OK.qxp

27/07/2006

10:40

PÆgina 300

Ampliar, configurar y reparar su PC

8.2 Los recursos de las tarjetas 3D Además de dibujar los polígonos y aplicar texturas y colores sobre ellos, lastarjetas gráficas 3D son capaces de generar varios otros efectos, todos vitales para generar las imágenes de buena calidad. Algunos de estos efectos se pueden realizar vía software, aplicados por el procesador principal por la falta de una tarjeta aceleradora 3D, pero aun así con una velocidad mucho más baja. Parece que no existan límites para la imaginación de los desarrolladores de la industria 3D. Cada día se desarrollan nuevos efectos y se perfeccionan los ya existentes, buscando desarrollar tarjetas y juegos con imágenes más perfectas.

8.2.1 Efectos básicos Todas las tarjetas gráficas 3D actuales, incluso las más simples, y la mayoría de los chipsets de vídeo onboard actuales son capaces de trabajar con todos estos recursos. En algunos juegos existe la posibilidad de inhabilitar algunos de estos recursos para mejorar el frame-rate, sacrificando un poco de la calidad de imagen.

Gourad Shading El recurso Gourad Shading intenta corregir un problema generado por la luz. A partir de un único color, se realiza una especie de degradado que va de un vértice a otro de cada polígono, consiguiendo una coloración de la imagen más perfecta. Este efecto es usado sobre todo para simular superficies plásticas o metálicas.

Algunas de las primeras tarjetas gráficas 3D no soportaban este recurso, usando en su lugar otro más simple, llamado Flat Shading. Este recurso exigía que cada polígono tuviese un único color sólido, resultando una imagen de baja calidad, donde eran visibles los contornos de los polígonos.

Clipping En una imagen tridimensional, un objeto puede ocupar cualquier lugar en el espacio, inclusive quedar por delante o detrás de otro objeto. Cuando se realiza la renderización de la imagen, es decir, la conversión hacia 2D para mostrarlo en el monitor, es necesario determinar los objetos que serán visibles (desde el punto de vista del observador) y cuáles deben ocultarse. Este recurso también es llamado Hidden Surface Removal.

300

08_Tarjeta_grÆfica_OK.qxp

27/07/2006

10:40

PÆgina 301

Tarjeta gráfica

Z-SSorting Este recurso es opcional. Tiene la misma función que el recurso Clipping, es decir, eliminar las partes encubiertas de la imagen a la hora de hacer la conversión para 2D y enviar la imagen al monitor. La diferencia radica en cómo realizan esta tarea los dos procesos. Usando el recurso Clipping, primero se determinan los polígonos visibles y después sólo se renderizan los que deben mostrarse. Con eso, la tarjeta ahorra procesamiento, ya que se deben renderizar menos objetos en cada cuadro. El recurso Z-Sorting realiza la misma tarea, pero usa un método menos sutil: renderiza todos los polígonos (visibles o no), empezando por los que están más alejados del punto de vista del observador. Conforme la imagen se va renderizando, los objetos que están más al frente van cubriendo los que están detrás. El resultado final es idéntico, sin embargo tenemos un menor uso del procesador, pues es dispensado de determinar las partes visibles de la imagen. Por otro lado, la tarjeta gráfica es más exprimida, pues tiene que renderizar más objetos.

Lighting Para conseguir una imagen perfecta, también es necesario determinar la intensidad luminosa, es decir, la visibilidad de cada objeto basándose en la distancia y en el ángulo del foco de luz. Uno de los grandes trucos en una imagen 3D es la posibilidad del programador de determinar las fuentes de luz y su intensidad dentro de la imagen: luces, sol, fuego, etc. Al procesarse la imagen, queda a cargo de la tarjeta 3D aplicar el recurso de Lighting, calculando los efectos de los focos de luz determinados por el programador.

Transparencia (Transparency) Muchos objetos, como el agua o el vidrio, son transparentes. Este recurso, también llamado Alpha Blending, permite la representación de estos objetos en una imagen 3D, posibilitando ver el fondo de un lago o a través de una puerta de vidrio. El grado de transparencia de cada objeto es definido en un canal de 8 bits, permitiendo 256 niveles diferentes.

301

08_Tarjeta_grÆfica_OK.qxp

27/07/2006

10:40

PÆgina 302

Ampliar, configurar y reparar su PC Este recurso de transparencia consume mucho procesamiento, pues es necesario mezclar los colores de dos objetos, o dos texturas. Naturalmente, las tarjetas 3D con más poder de procesamiento son las que sacan un mejor partido al aplicar este recurso.

Texture Mapping Esta es una de las funciones 3D más simple y que en la mayoría de los casos acaba siendo aplicada por el propio procesador. Sobre los polígonos que componen la imagen se aplican las texturas, que tienen determinada su posición exacta en la imagen. Este recurso consiste en estirar las texturas que están más próximas del punto de vista del observador y encoger las más lejanas, manteniendo inalterada la posición de cada textura en la imagen.

Texture Filtering El recurso Texture Mapping deja mucho a desear. Las texturas que muy están próximas aparecen sencillamente como enormes cuadrados, convirtiendo la imagen en poco real. Para contornear este problema, los juegos más actuales usan el efecto texture filtering (filtrado de texturas). Este recurso consiste en interpolar los puntos de las texturas que están más próximas, disminuyendo la distorsión. Al interpolar una imagen, la tarjeta aumenta su resolución, añadiéndolo más puntos de los que ya existen. Debemos notar que este recurso sólo sirve para evitar la granulación de la imagen. Existen dos tipos diferentes de texture filtering, llamados bilinear filtering (filtrado bilineal) y trilinear filtering (filtrado trilineal). La diferencia es que el filtrado bilineal realiza un cálculo simple, basado en la textura que está siendo exhibida, mientras que en el filtrado trilineal se usa un recurso especial llamado mip mapping, que consiste en almacenar varias versiones de diferentes tamaños de la misma textura en la memoria, lo que permite realizar el filtrado a partir de la textura que más se acerca al tamaño de la imagen que debe ser mostrada. El trilinear filtering genera efectos con una calidad un poco mejor y consume menos procesamiento, aunque consume más memoria de vídeo (ya que se almacenan varias texturas). Prácticamente todas las tarjetas gráficas 3D soportan el bilinear filtering, pero sólo las más recientes soportan el trilinear filtering.

302

08_Tarjeta_grÆfica_OK.qxp

27/07/2006

10:41

PÆgina 303

Tarjeta gráfica

Fogging Si miramos una montaña que está lejos, percibiremos que parece cubierta por una especie de neblina que surge debido a la humedad del aire, que distorsiona la imagen, volviéndola poco nítida. El efecto Fogging está destinado a proporcionar este mismo recurso a las imágenes 3D. Esto ayuda de dos maneras: primero, aumentando el realismo de la imagen y segundo, disminuyendo el procesamiento necesario, pues las imágenes que estarán cubiertas por la neblina virtual podrán mostrarse a una resolución menor.

Corrección de perspectiva (Perspective Correction) Este es un recurso muy importante y que encontramos en cualquier tarjeta 3D. A través de él, las texturas son moldeadas sobre los polígonos respetando nuestro ángulo de visión. Este efecto recuerda un poco el efecto del recurso texture mapping, pero es mucho más avanzado, pues permite que las texturas sean moldeadas en los objetos de formas irregulares. Este recurso permite conseguir imágenes extremadamente reales, pero es uno de los que demandan más poder de procesamiento.

Z-B Buffer En una imagen tridimensional, además de las informaciones relativas a la anchura y altura (X e Y), también tenemos las informaciones relativas a las profundidades (Z). Estas informaciones son guardadas en un área reservada de la memoria de vídeo y se destinan a determinar, con precisión, la posición de cada polígono en la imagen.

8.2.2 Recursos avanzados Además de los recursos básicos, muchas de las aceleradoras actuales poseen otros recursos capaces de mejorar todavía más la calidad de las imágenes. Estos nuevos recursos permiten una pequeña mejora en la calidad final de las imágenes pero, en cambio, consumen muchos recursos de procesamiento. Muchos usuarios con equipos len-

303

08_Tarjeta_grÆfica_OK.qxp

27/07/2006

10:41

PÆgina 304

Ampliar, configurar y reparar su PC tos prefieren inhabilitar estos recursos para mejorar el frame-rate, el número de cuadros generados por segundo.

Phone Shading Este recurso es una evolución del Gourad Shading. La función es la misma, permitir aplicar efectos de luz sobre un polígono, simulando superficies plásticas o metálicas. Los efectos generados usando el recurso Gourad Shading generan imágenes bastante buenas, pero no perfectas. En muchos casos, las imágenes parecen sintéticas. Esto pasa dado que el efecto de luz generado por el Gourad Shading es bastante simple: sencillamente se determinan la intensidad máxima y mínima de luz dentro del polígono y se realiza un degradado a continuación. El Phone Shading, a su vez, utiliza un algoritmo mucho más complejo, que calcula la intensidad de luz punto por punto, basándose en la posición individual de cada punto en relación al punto de luz. El resultado es bastante mejor, pero necesita mucho más procesamiento.

32 bits de memoria Los primeros juegos 3D sólo soportaban el uso de 256 colores, lo que limitaba mucho la calidad de la imagen. Cuando los juegos pasaron a utilizar 65 mil colores (16 bits), se percibió un enorme salto en la calidad de las imágenes; por último, los desarrolladores tenían los suficientes colores para aplicar efectos de luz y sombra convincentes y construir texturas más detalladas. Como todo evoluciona de forma muy rápida, la mayoría de las aceleradoras 3D actuales son capaces de generar imágenes 3D usando 32 bits de memoria. Con más colores disponibles es posible generar transiciones de luz más suaves, mejorando la calidad de la imagen. La polémica surge justamente por cuánto aumenta la calidad de la imagen. En una imagen estática, grande y que usa pocas tonalidades de memoria, es fácil percibir la diferencia entre el uso de 16 o 32 bits de memoria, pero en un partido de movimientos rápidos, la diferencia de calidad no es tan perceptible. Además, sólo existe una diferencia realmente perceptible en las transiciones de luz. En las texturas pequeñas no tenemos la posibilidad de notar diferencia alguna. Usando 32 bits de memoria el rendimiento de la tarjeta gráfica siempre es un poco menor que usando sólo 16 bits, ya que la cantidad de datos que se deben procesar será mucho mayor y el bus con la memoria es más transitado. Este recurso puede ser inhabilitado a través de la configuración de la tarjeta gráfica o, en algunos casos, a través de las distintas opciones del propio juego. Las tarjetas que tienen una pérdida mayor de rendimiento al usar 32 bits de memoria son las que poseen un bus de datos más estrecho con la memoria RAM, ya sea porque 304

08_Tarjeta_grÆfica_OK.qxp

27/07/2006

10:41

PÆgina 305

Tarjeta gráfica usan memorias SDR en vez de memorias DDR, es decir por acceder a la memoria con sólo 64 bits en vez de 128. Usando 32 bits de memoria, la tarjeta necesita transferir el doble de datos para la memoria de cada cuadro. En la práctica, es como si el bus de datos con la memoria fuese reducido a la mitad.

Single Pass Multitexturing Un recurso muy utilizado en los juegos actuales es la combinación de dos texturas sobre un mismo objeto. Este recurso es bastante útil al otorgar una mayor libertad a los programadores y disminuir el número total de texturas que van a ser almacenadas, ahorrando memoria de vídeo.

Las aceleradoras compatibles con el recurso de single pass multitexturing son capaces de aplicar las dos texturas a la vez, tardando el mismo tiempo que tardarían para aplicar una textura simple. Para conseguirlo, estas tarjetas disponen de dos procesadores de texturas, que trabajan de forma simultánea. Como las texturas son aplicadas línea a línea, para los dos procesadores es fácil mantenerse sincronizados, pues justo después de terminar el primero de aplicar la primera línea de la primera textura y pasar a la segunda línea, el segundo puede empezar a trabajar aplicando la primera línea de la segunda textura (sobre la primera) y así en adelante. Evidentemente, el uso de dos procesadores de texturas aumenta de forma considerable el coste de producción de la tarjeta, haciendo que algunos chipsets y tarjetas más baratas vengan con sólo un procesador de texturas. La ausencia de este recurso convierte la tarjeta en mucho más lenta, sobre todo en los juegos más actuales, que usan intensamente el recurso de superposición de texturas.

Texturas de 2048 x 2048 Otro recurso que no es soportado por todas las tarjetas 3D actuales es el uso de grandes texturas, de hasta 2048 x 2048 píxeles. El uso de estas texturas permite mejorar un poco la calidad visual de algunos juegos, a pesar de disminuir un poco el rendimiento y consumir más espacio en la memoria de vídeo. Algunos de los juegos más actuales utilizan varias texturas grandes, presentando una mejora perceptible en la calidad visual en conjunto con una tarjeta que soporte este recurso. 305

08_Tarjeta_grÆfica_OK.qxp

27/07/2006

10:41

PÆgina 306

Ampliar, configurar y reparar su PC Uno de los pocos chipsets actuales que no soporta este recurso, estando limitadas las texturas de como máximo 256 x 256 píxeles es el Voodoo 3. En el caso de que el juego utilice texturas grandes, sencillamente simplificará las texturas hasta que alcancen los 256 x 256 permitidos, sacrificando la calidad.

El uso de texturas más detalladas es capaz de mejorar la visión de los juegos, el problema es su tamaño. Una única textura de 2048 x 2048 y 32 bits de memoria ocupa nada menos que 16 MB de memoria. Esto equivale a la toda la memoria de vídeo de una Voodoo 3 por ejemplo, mientras que una textura de 256 x 256 con 16 bits de memoria sólo ocupa 128 KB de memoria de vídeo. Eso sin tener en cuenta la cantidad de procesamiento y el ancho de banda necesario para transportar y procesar una textura de este tamaño. Este es uno de los recursos que mejoran la calidad sacrificando mucho el rendimiento. Los desarrolladores de juegos utilizan este recurso con mucha moderación. Las tarjetas GeForce, entre otras tarjetas gráficas actuales, incorporan algoritmos de compresión que permiten compactar las texturas a razón de 8 a 1 y poseen un poder de procesamiento muy superior al de las tarjetas anteriores. Estas sí que son capaces de presentar un rendimiento razonable, incluso procesando pesadas texturas.

FSAA Este recurso mejora la calidad de las imágenes generadas. Consiste en mejorar el contorno de los objetos a partir de puntos de colores intermedios, un tipo de interpolación, pero realizada en tiempo real por la tarjeta gráfica, que aplica este efecto durante el proceso de renderización de las imágenes.

FSAA viene de Full Screen Anti-Aliasing, que destaca la capacidad de la tarjeta gráfica de suavizar los contornos (anti-aliasing). Utilizando el recurso de Anti-Aliasing, los fallos en el contorno de las imágenes son suavizados, disminuyendo la granulación de 306

08_Tarjeta_grÆfica_OK.qxp

27/07/2006

10:41

PÆgina 307

Tarjeta gráfica las imágenes. En la práctica, la impresión es que la imagen posee una resolución más elevada que la real. Una imagen de 640 x 480 píxeles a la que se le aplica el recurso de Anti-Aliasing pasa a tener una calidad semejante, o incluso superior, a la de una imagen de 800 x 600 píxeles, pero, en realidad, sólo tenemos una transición más suave entre los colores. El FSAA es un recurso soportado sólo por las tarjetas 3D de mayor gama, pues a pesar de la mejora en la calidad de los gráficos resulta en una gran pérdida de rendimiento, ya que para conseguir el efecto de interpolación, la tarjeta 3D necesitará generar una imagen con el doble o el cuádruple de resolución y luego disminuirla a fin de aplicar el recurso. Este recurso puede ser activado o desactivado a través de la ventana de propiedades de vídeo. Es conveniente examinar las configuraciones, pues en muchas tarjetas, el FSAA viene activado por defecto y, es por ello, que mucha gente se queja de los bajos frames por segundo en comparación con otros usuarios de tarjetas semejantes que tenían el recurso desactivado.

V-SSinc Este es un recurso más interesante, soportado por prácticamente todas las tarjetas 3D. Al ser activado, el V-Sinc sincroniza los cuadros generados por la tarjeta con la frecuencia de actualización del monitor. La tasa de actualización del monitor, o refreshrate, puede ser configurada en las propiedades de vídeo, generalmente con opciones entre los 48 y 85 Hz. Este es justamente el número de veces que la imagen será actualizada por segundo en el monitor. Para obtener una imagen libre de flicker, es recomendable el uso de 75 Hz de tasa de actualización, como mínimo. El V-Sinc sirve justamente para sincronizar los cuadros de imagen generados por la tarjeta gráfica con la actualización de la imagen del monitor. En cada dos actualizaciones de la imagen se genera un nuevo cuadro. En términos de fluidez de la imagen, esta es la medida ideal, pues de nada sirve que la tarjeta genere más cuadros que los que es capaz de exhibir el monitor. Es recomendable mantener el V-Sinc activado, y sólo desactivarlo cuando vayamos a ejecutar algún programa benchmark.

8.3 Conceptos generales Para llegar a entender mejor los distintos recursos de las tarjetas 3D y chipsets gráficos disponibles, es muy interesante presentar algunos conceptos generales.

8.3.1 La división de las tareas Como ya hemos visto, una imagen 3D no es más que un enorme conjunto de polígonos. Una de las diferencias entre una imagen vectorial (compuesta por polígonos) y una imagen de mapa de bits (bitmap), es que la primera puede ser modificada libre-

307

08_Tarjeta_grÆfica_OK.qxp

27/07/2006

10:41

PÆgina 308

Ampliar, configurar y reparar su PC mente, asumiendo cualquier tamaño y manteniendo la misma calidad. Por su parte, si estiramos la segunda imagen, los puntos se romperán y acabaremos con un borrón sin forma en las manos. Esto es así porqué una imagen poligonal, en realidad, sólo es un conjunto de ecuaciones matemáticas que indican la forma, posición y tamaño relativo de los polígonos. Al ampliar la imagen, el procesador volverá a hacer estos cálculos, reconstruyendo la imagen con el tamaño deseado. Sin embargo, ampliando una imagen de mapa de bits sólo podemos aumentar el tamaño de los puntos, resultando en una imagen de baja calidad. Este mismo concepto se aplica a una imagen 3D, que repetimos, es sólo un conjunto de polígonos. Una aceleradora 3D sirve para auxiliar al procesador en la construcción de las imágenes 3D usadas en los juegos y aplicaciones. Notemos que la tarjeta 3D sólo es una asistente (a pesar de hacer la parte más pesada del trabajo), esto significa que el procesador también tiene que realizar sus tareas. El procesador es el encargado de montar el armazón de la imagen, es decir, montar la estructura de polígonos que la compone, calculando el tamaño y posición de cada uno de ellos. Esta tarea exige una cantidad gigantesca de cálculos matemáticos, justamente por ello, es esencial que el procesador disponga de un coprocesador aritmético muy poderoso. Al terminar de dibujar el armazón de la imagen, el procesador lo envía a la tarjeta junto con las texturas que deben ser aplicadas sobre los polígonos, informaciones sobre los colores de cada polígono, la posición de cada textura, etc. La tarjeta gráfica a su vez, tiene como tarea aplicar las texturas, colorear los polígonos, aplicar los efectos 3D, determinar las partes visibles de la imagen y, por último, generar la imagen que aparecerá en el monitor. En un juego, este proceso es repetido de forma indefinida, generando el movimiento de las imágenes. Cuánto más poderosos son el procesador y la tarjeta gráfica, más imágenes se podrán generar por segundo, resultando un frame-rate más alto. El frame-rate es el número de cuadros presentados por segundo. Un frame-rate ideal serían por lo menos 30 cuadros por segundo, mientras el mínimo serían alrededor de 20 cuadros. Por debajo de esto, el juego empezaría a presentar saltos que perjudicarían su manejo. Es oportuno recordar que el frame-rate no tiene nada que ver con el refresh-rate, que es la cantidad de veces que la imagen almacenada en la memoria de la tarjeta gráfica es leída por el RAMDAC y actualizada en el monitor. Podemos tener, a la vez, un framerate de 30 cuadros por segundo y uno refresh-rate de 75 Hz, por ejemplo. El frame-rate viene determinado básicamente por 4 factores: 1.

La potencia de la tarjeta gráfica.

2.

El nivel de detalle de la imagen (con 16 o 32 bits de memoria).

308

08_Tarjeta_grÆfica_OK.qxp

27/07/2006

10:41

PÆgina 309

Tarjeta gráfica 3.

La resolución utilizada (800 x 600 o 1024 x 768).

4.

La potencia del procesador.

Como ya hemos dicho anteriormente, antes de que la imagen sea transferida a la tarjeta de vídeo, tiene que ser "esbozada" por el procesador. Entonces, este esbozo es transferido a la tarjeta gráfica que realiza el resto del trabajo. Cuántas más texturas tuviesen que aplicarse, más efectos de luz, etc. más tiempo tardará la tarjeta gráfica para terminar cada imagen. Otro factor importante es la resolución utilizada. Usando una resolución de 640 x 480 o 1024 x 768, el trabajo del procesador es exactamente el mismo, pues como ya hemos dicho, los polígonos pueden rediseñarse y la imagen ampliada a cualquier tamaño sin que exista pérdida de calidad alguna. Sin embargo, cuanto mayor es la resolución, mayor será el trabajo de la tarjeta gráfica (que tendrá que renderizar más píxeles) y, consecuentemente, más bajo será el frame-rate. Usando una resolución muy alta, la tarjeta gráfica se queda con la parte más pesada del trabajo, haciendo que el procesador tenga que estar esperando a que la tarjeta de vídeo termine las imágenes para poder enviar los siguientes cuadros. En esta situación, cambiar la tarjeta gráfica 3D por otra más rápida aumentaría inmediatamente el frame-rate. Usando una resolución más baja, de 640 x 480 o menos, el escenario que acabamos de ver se invierte. Los cálculos realizados por el procesador para cada cuadro continuarán siendo los mismos, sin embargo, el trabajo de la tarjeta gráfica es mucho más ligero, pues las imágenes generadas serán menores. Consecuentemente, la tarjeta gráfica realizará su trabajo más rápidamente y nos encontraremos con el escenario opuesto, con la tarjeta gráfica ociosa esperando a los envíos del procesador. En términos de calidad de imagen, todas las tarjetas gráficas fabricadas hace menos de un año están muy próximas unas de las otras. Un especialista gráfico puede ser capaz de diferenciar las imágenes con facilidad, pero un usuario normal siquiera notará grandes diferencias en la imagen de una tarjeta a otra, usando la misma resolución. Usando una tarjeta de gama más alta, como una GeForce 2 GTS o una ATI Radeon DDR por ejemplo, tendremos un frame-rate satisfactorio, incluso usando resoluciones mucho más altas y habilitando todos los efectos visuales. En cualquier caso, necesitaremos tener un procesador que la acompañe razonablemente. Algunas tarjetas 3D son menos dependientes del procesador que otras tarjetas, presentando un buen frame-rate, incluso en procesadores más lentos. Este es el caso de las tarjetas equipadas con el chipset Voodoo (en todas sus versiones). Otras tarjetas, como las basadas en los chipsets Riva 128 y Riva TNT, sólo muestran todo su potencial en conjunto con los procesadores más fuertes.

8.3.2 Frame-rate y rendimiento El factor para la medición del rendimiento de las tarjetas gráficas más aceptado actualmente es, justamente, la cantidad de cuadros por segundo que cada tarjeta es capaz 309

08_Tarjeta_grÆfica_OK.qxp

27/07/2006

10:41

PÆgina 310

Ampliar, configurar y reparar su PC de generar en un determinado juego. Como hemos visto, el trabajo de la tarjeta gráfica es, básicamente, dibujar las imágenes y mostrarlas en el monitor, y el objetivo de tener una tarjeta rápida es justamente poder ejecutar cualquier juego con altas resoluciones, con todos los efectos 3D activados y con un buen frame-rate. La idea de usar los juegos para medir el rendimiento de las tarjetas en lugar de programas de benchmark se está convirtiendo cada vez en más popular entre las Webs especializadas, pues muestra el rendimiento de la tarjeta gráfica en aplicaciones reales, donde realmente se usarán. Para que tengan validez, los tests deben ser realizados con equipos con una configuración exactamente igual, usando la misma resolución de pantalla y el mismo juego, cambiando sólo la tarjeta gráfica usada entre una medición y otra. Después, los resultados son comparados y la tarjeta gráfica que es capaz de generar más cuadros por segundo es la más rápida. Los fabricantes dicen que el ideal serían unos 60 fps, pues así difícilmente el framerate bajaría por debajo de los 30 fps en las escenas más pesadas de algunos juegos. Personalmente, considero que la cifra media de 30 fps es un valor más que aceptable, pues las bajadas momentáneas a 15 o 13 fps no llegan a molestar tanto como para justificar gastar mucho más para tener un tarjeta gráfica de alto rendimiento.

8.3.3 Los drivers En la actualidad, un punto fundamental cuando hablamos de tarjetas 3D son justamente los drivers. Simplificando, un driver (controlador) es un pequeño programa que le permite al sistema operativo utilizar todos los recursos de la tarjeta de vídeo. Los fabricantes mantienen los drivers de sus tarjetas en constante desarrollo, y en cada nueva versión tenemos una mejora, tanto en el rendimiento como en la compatibilidad. Antes de instalar una tarjeta gráfica 3D, no debemos dejar de visitar la Web del respectivo fabricante y bajar los drivers más recientes, que tendrán más recursos y serán más rápidos que los drivers que vienen con la tarjeta. Nota: navegando por Internet también encontraremos drivers beta, drivers que todavía están en fase de test y que, por ello, todavía no han sido oficialmente liberados por el fabricantes. Como siempre, un driver beta permite que tengamos nuevos recursos a mano, pero no totalmente estables.

8.3.4 Las APIs Así como todos los programas son construidos usando algún lenguaje de programación, como C++, Visual Basic, Delphi, etc. que al programador le permiten construir su programa y acceder a los recursos del sistema. Las aplicaciones 3D, en especial los juegos, son construidos a través de una interfaz de programación, es decir, una API (Application Programming Interface). Simplificando, una API es, más o menos, como un lenguaje de programación para generar gráficos 3D, compuesta de varios comandos que le permiten al programador 310

08_Tarjeta_grÆfica_OK.qxp

27/07/2006

10:41

PÆgina 311

Tarjeta gráfica construir las imágenes, aplicar los efectos 3D, etc. Todos los juegos son construidos en base a los recursos permitidos por una de las APIs disponibles. Actualmente, sólo se usan estas tres APIs: Direct3D (o D3D), OpenGL y Glide. Direct3D: desarrollada por Microsoft, D3D es la API más utilizada en la actualidad. Esta no es la API con más recursos, ni la más rápida, pero es la más fácil de utilizar, motivo principal de su amplia aceptación. Los recursos permitidos por la D3D no son nada modestos y permiten crear juegos con gráficos muy interesantes. Esta API se puede utilizar en cualquier tarjeta 3D, sólo es necesario que el fabricante desarrolle el driver adecuado. Felizmente, existen drivers D3D para prácticamente todas las tarjetas 3D actuales. Esta API está en constante desarrollo. Los nuevos recursos de la D3D se van incorporando a las tarjetas gráficas ya existentes a través de los nuevos drivers, resultando en un aumento de la calidad de imagen y rendimiento. En realidad, Direct3D forma parte del DirectX de Microsoft y, por ello, todos los juegos que se ejecutan sobre esta API necesitan que DirectX esté instalado en el equipo. Con la falta de una aceleradora 3D, los juegos hechos en D3D (a menos que el desarrollador determine lo contrario) se pueden ejecutar en modo software, donde es el propio procesador el encargado de hacer todo el trabajo. Evidentemente, ejecutándose en modo software el rendimiento será bastante malo y en bajas resoluciones. OpenGL: si la D3D es la API más fácil de utilizar, OpenGL es la API que posee más recursos. Originalmente, OpenGL fue desarrollado para ser utilizado en aplicaciones profesionales y, de hecho, es prácticamente la única API 3D utilizada en las aplicaciones como 3D Studio MAX, programas de ingeniería y aplicaciones profesionales. Los fabricantes de juegos percibieron muy rápidamente que también podían usar esta poderosa herramienta en sus productos. Uno de los primeros títulos fue el GL Quake, una versión del Quake 1 modificada para utilizar efectos los 3D de OpenGL, que abrió el camino para el posterior lanzamiento de varios otros títulos. Uno de los principales problemas de esta API es el hecho de ser incompatible con un número considerable de tarjetas gráficas, no por las limitaciones de hardware sino, sencillamente, por la falta de drivers. En otros casos, la tarjeta de vídeo es compatible, pero los drivers son malos, aprovechando sólo algunos de los recursos de la API, resultando en un bajo rendimiento y en una baja calidad de imagen. Los drivers OpenGL son llamados drivers OpenGL ICD, o Installable Client Driver. El término ICD se usa en relación a un driver completo y que soporta todos los recursos OpenGL. Muchas veces, los mismos fabricantes lanzan mini-drivers, llamados mini-GL o mini-ICD, optimizados para los juegos. Estos drivers sólo poseen algunas de las instrucciones OpenGL, las utilizadas por los juegos. Al poseer menos instrucciones, es más fácil que los fabricantes mejoren el rendimiento del driver e incluyan soporte a las instrucciones 3D-Now! y SSE, mejorando el rendimiento de los drivers y, consecuentemente, de la tarjeta gráfica.

311

08_Tarjeta_grÆfica_OK.qxp

27/07/2006

10:41

PÆgina 312

Ampliar, configurar y reparar su PC Evidentemente, estos mini-drivers sólo sirven para juegos; para la ejecución de aplicaciones profesionales necesitaremos tener instalado el driver ICD completo. Glide: es la API más antigua y, a la vez, la más simple. Fue desarrollada por la casa 3dfx para ser usada conjuntamente con sus chipsets Voodoo. El problema es que la Glide siempre fue una API propia y, por ello, sólo compatible con las tarjetas equipadas con los chipsets de la casa 3dfx. Durante mucho tiempo, esta fue la API más utilizada, pues las tarjetas equipadas con el chipset Voodoo eran de lejos las más vendidas. A medida que se sacaron al mercado tarjetas 3D de otros fabricantes (que sólo eran compatibles con D3D y OpenGL), poco a poco, los fabricantes de juegos dejaron de usar la Glide, para tener una mejor compatibilidad con el mayor número de tarjetas.

8.3.5 AGP: ser o no ser Desde el punto de vista de una tarjeta gráfica, el bus AGP conlleva varias ventajas sobre el bus PCI: es hasta 8 veces más rápido (AGP 4x), es de uso exclusivo para la tarjeta gráfica (a diferencia del bus PCI, donde los 133 MB/s son compartidos por todos los dispositivos PCI instalados) y permite que la tarjeta gráfica utilice la memoria RAM del equipo para almacenar las texturas sin que exista una pérdida de rendimiento tan grande como pasaba con el bus PCI. Sin embargo, esto no implica que la tarjeta gráfica utilice todos estos recursos. Muchas tarjetas gráficas sólo utilizan el bus AGP por cuestiones de marketing, pues existe la idea generalizada de que las tarjetas AGP son mejores y, consecuentemente, una tarjeta gráfica lanzada en su versión AGP se vende mucho más que si fuese lanzada en su versión PCI. Pero, en el caso que la placa no sea lo suficientemente rápida para utilizar la mayor velocidad de transferencia permitida por el bus AGP y no utilice la memoria del sistema para almacenar las texturas, entonces la única ventaja es dejar libre un slot PCI. Este es el caso de todas las tarjetas gráficas 2D que utilizan el bus AGP y el de muchas aceleradoras 3D. De modo general, las tarjetas gráficas lanzadas simultáneamente en versiones PCI y AGP son las que no utilizan todos los recursos permitidos por el bus AGP y, por ello, son fácilmente adaptables al bus PCI. En estos casos, la diferencia de rendimiento entre la versión PCI y la versión AGP es casi imperceptible. Finalmente, los recursos permitidos por el bus AGP mejoran el rendimiento de la tarjeta gráfica, pero estos recursos sólo son realmente necesarios para las tarjetas 3D más rápidas o para las tarjetas 3D que poseen poca memoria de vídeo y que por ello dependen de la velocidad del bus AGP para almacenar los datos en la memoria RAM del sistema. Otra categoría muy dependiente de la velocidad del bus AGP son los chipsets de vídeo onboard, que sólo disponen de la memoria del sistema. El bus AGP será todavía más necesario para la nueva generación de tarjetas y juegos 3D, donde ya empiezan a utilizarse texturas muy grandes, de hasta 2048 x 2048 píxe312

08_Tarjeta_grÆfica_OK.qxp

27/07/2006

10:41

PÆgina 313

Tarjeta gráfica les y demandarán unas transferencias de datos mucho más amplias que las permitidas por el bus PCI.

8.3.6 Uso de la memoria Mientras que en las tarjetas gráficas 2D la memoria de vídeo sólo determina las resoluciones permitidas y el número de colores soportados, en las tarjetas 3D, la cantidad de memoria de vídeo está directamente relacionada con el rendimiento de la tarjeta. Si se utilizan más texturas en un juego, y estás son muy grandes, más memoria deberá tener la tarjeta para poder ejecutar el juego de la forma adecuada. A pesar de que las tarjetas AGP puedan utilizar la memoria del sistema para almacenar las texturas, siempre existe una pérdida considerable de rendimiento. Para las nuevas generaciones de juegos, 32 MB de memoria de vídeo ya empiezan a ser insuficientes. Por ello, ya debemos empezar a considerar la posibilidad de adquirir una tarjeta gráfica con 64 MBytes de memoria de vídeo como mínimo.

8.3.7 Chipsets Como en el caso de las placas base, el componente principal de una tarjeta gráfica es el chipset, en este caso el chipset de vídeo. Este chipset es el encargado de comandar toda la puesta en funcionamiento de la tarjeta y determina sus recursos y rendimiento. Es muy común que un mismo chipset de vídeo sea usado en tarjetas de distintos fabricantes. Al usar el mismo procesador gráfico central, todas estas tarjetas poseen básicamente los mismos recursos y un rendimiento similar (siempre considerando modelos con la misma cantidad de memoria de vídeo). Normalmente, las únicas diferencias son la cantidad de memoria y la presencia o no de otros accesorios, como la salida de vídeo por ejemplo. En cambio, existen muchas diferencias entre dos tarjetas equipadas con chipsets diferentes, pero estas son mínimas entre tarjetas equipadas con el mismo chipset.

8.4 Rendimiento Los factores que determinan el rendimiento de una tarjeta gráfica son muy parecidos a los que determinan el rendimiento de un procesador: la frecuencia de trabajo, el número de operaciones por ciclo, la anchura del bus de acceso a la memoria de vídeo, la cantidad de memoria de vídeo y el bus utilizado (PCI, AGP, AGP 2x, etc.). Teniendo presentes todos estos factores obtenemos la potencia "bruta" de la tarjeta gráfica, ya que el rendimiento efectivo también va a depender de los recursos 3D utilizados y de los drivers utilizados. Por ejemplo, una tarjeta gráfica que ejecute más funciones tendrá un rendimiento inferior, en términos de cuadros por segundo, al de otra semejante pero que ejecute un número menor de funciones 3D. Al contrario, tendrá una calidad de imagen superior.

313

08_Tarjeta_grÆfica_OK.qxp

27/07/2006

10:41

PÆgina 314

Ampliar, configurar y reparar su PC A continuación, detallaremos de forma más profunda los distintos factores que determinan el rendimiento de las tarjetas gráficas: Frecuencia de trabajo: cada chipset de vídeo tiene su propia frecuencia de trabajo, medida en millones de ciclos por segundo (MHz). Esta frecuencia no tiene nada que ver con la frecuencia de trabajo del procesador, de la placa base, o del mismo bus PCI o AGP al que está conectado la tarjeta gráfica. Como en el caso de los procesadores, cuantos más ciclos por segundo, mayor es el poder de procesamiento del chipset de vídeo. Píxeles por ciclo de reloj: de la misma manera que los procesadores son capaces de ejecutar más de una instrucción en cada ciclo de reloj, también existen casos de chipsets de vídeo capaces de procesar más de un píxel en cada ciclo de reloj. Algunos chipsets más antiguos sólo procesaban 1 píxel por ciclo, los chipsets más recientes ya procesaban 2 píxeles por ciclo. También existen bastantes casos de chipsets que procesan 4 píxeles por ciclo. Fill rate: multiplicando el número de píxeles procesados en cada ciclo de reloj por el número de ciclos por segundo obtenemos el fill rate, que es el número total de píxeles que la tarjeta gráfica puede generar en cada segundo. Este valor se mide en "megapíxeles", o millones de píxeles por segundo. Por ejemplo, en una tarjeta gráfica en la que el chipset procesa 2 píxeles por ciclo y trabaja a 150 MHz, tenemos un fill rate de 300 megapíxeles. Otro dato relacionado con el fill rate que encontraremos en las especificaciones de las tarjetas es la cantidad de "texels", es decir, la cantidad de texturas que la tarjeta es capaz de aplicar. "Texel" es un término semejante a píxel, uno de los puntos que forma una imagen, sin embargo, el término píxel se usa para referirse a la imagen mostrada en el monitor, mientras que el término "texel" se usa para referirse a los puntos que componen las texturas que se aplicarán en los polígonos. Poder de procesamiento (polígonos por segundo): otro factor determinante en el rendimiento final de la tarjeta es la cantidad de polígonos que se pueden dibujar por segundo. Cuanto mayor es el número de polígonos que la tarjeta es capaz de generar por segundo, mayor será el rendimiento de la tarjeta. A diferencia del fill rate, este recurso no tiene una relación directa con la frecuencia de trabajo. Bus de la memoria: otro factor importante es la amplitud del bus de comunicación con la memoria. Cuánto más ancho es el bus, más rápidas serán las transferencias de datos entre el chipset y la memoria de vídeo y, consecuentemente, mayor será el rendimiento de la tarjeta. En las tarjetas gráficas 3D no se utiliza memoria caché pero, en cambio, la memoria de vídeo trabaja a frecuencias mucho más altas que la memoria principal del sistema. Resolución: el fill rate es una medida del rendimiento bruto de la tarjeta, la cantidad de operaciones que la placa es capaz de ejecutar por segundo. Como ya hemos visto 314

08_Tarjeta_grÆfica_OK.qxp

27/07/2006

10:41

PÆgina 315

Tarjeta gráfica anteriormente, cuanto mayor sea la resolución utilizada se necesitará un mayor procesamiento para generar cada imagen. Efectos 3D utilizados: calidad de la imagen y rendimiento son dos términos incompatibles. Para tener una imagen de mayor calidad se deben utilizar más efectos 3D que consumen preciosos ciclos de procesamiento. Efectos como el uso de 32 bits de memoria, texturas de 2048 x 2048 y FSAA, mejoran la calidad de las imágenes pero, en cambio, consumen más procesamiento y disminuyen el fps.

315

09_Sonido_OK.qxp

27/07/2006

10:42

PÆgina 317

9. El sonido Originalmente, el PC posee una capacidad sonora bastante limitada, pues el procesador sólo puede trabajar con unos y ceros. Todo PC viene con un pequeño altavoz incorporado, que está conectado directamente a la placa base. Los sonidos emitidos por el altavoz son generados por el propio procesador, que sólo puede combinar secuencias de 1 y 0 para generar algunos sonidos rudimentarios, que generalmente se usan para llamar la atención del usuario cuando ocurre algún error. Por otro lado, en un sonido analógico tenemos una gran onda, que puede asumir un número ilimitado de frecuencias. Los aparatos analógicos, como las grabadoras de cintas K-7, se limitan a captar estas ondas y transformarlas en una señal magnética, con tramos más fuertes o más débiles, dependiendo de la intensidad del sonido. Para la reproducción del sonido grabado, cuando se toca la cinta, esta señal magnética se convierte en una señal eléctrica que mueve el cono de un altavoz, reproduciendo así el sonido original; se trata de un esquema relativamente simple. Sin embargo, un PC no puede trabajar con señales analógicas e intenta representar los sonidos reales en forma de secuencias de unos y ceros. Surgió entonces la idea de convertir la señal analógica a un formato digital a través de muestras. Imaginemos que la onda sonora fuese colocada en un gráfico cartesiano, y cada punto de la onda pasase a recibir los valores de las coordenadas X e Y. Entonces podríamos coger muestras de la onda y atribuir un valor numérico a cada una, que representaría su posición en el gráfico. Cuanto mayor sea la cantidad de muestras por segundo, mejor será la calidad del sonido. También es importante la amplitud de la señal o sea, la cantidad de valores diferentes que podrá asumir. Si, por ejemplo usásemos 8 bits para representar la amplitud de cada muestra, sería posible reproducir sólo 256 variedades distintas de sonidos. Si se usasen 16 bits, ya serían posibles 65.000 valores distintos. Podemos hacer una analogía entre un sonido digital y una imagen digitalizada, donde tenemos una cierta cantidad de puntos y una determinada cantidad de colores. Cuanto mayor sea la resolución de la imagen y mayor sea la cantidad de colores, más perfecta será la representación de la imagen. Por ejemplo, una señal telefónica es transportada entre los nodos digitales de la red de telefonía con un formato de 8.000 317

09_Sonido_OK.qxp

27/07/2006

10:42

PÆgina 318

Ampliar, configurar y reparar su PC muestras por segundo y una amplitud de 8 bits, resultando un sonido nítido pero de baja calidad. En una música grabada en un CD nos encontramos con 44.100 muestras por segundo y una amplitud de 16 bits que permite 65.000 valores distintos. En un CD ya tenemos un sonido casi perfecto, hasta el punto que una persona normal no consigue distinguir entre un sonido real y el mismo sonido grabado. Sin embargo, un músico experto o una persona con una capacidad auditiva más desarrollada sería capaz de percibir una pérdida de calidad en el sonido, ya que estamos usando sólo 65.000 tonalidades, mientras que en un sonido analógico encontramos una cantidad infinita de frecuencias. Un sonido digital nunca será perfecto, pues es imposible grabar un número infinito de muestras. La cuestión es grabar el sonido con una cantidad de frecuencias suficientes para que el oído humano no sea capaz de notar ninguna diferencia entre el sonido digital y el sonido analógico original. En estudios profesionales de grabación ya se trabaja con sonidos de 94 KHz de frecuencia y 24 bits de amplitud, una calidad suficiente para engañar incluso a los oídos más sensibles.

9.1 La generación del sonido digital El encargado de realizar la conversión de la señal analógica en sonidos digitalizados es un circuito llamado ADC (Analog Digital Converter, o conversor analógico/digital). Básicamente, un ADC se encarga de extraer las muestras de la onda eléctrica generada por un aparato analógico y transformarlas en señales digitales. Estas señales pueden ser manipuladas por el procesador y transmitidas como cualquiera otro tipo de dato. Cuando es necesario reproducir un sonido digital previamente grabado, necesitamos realizar el camino inverso, o sea, transformar las muestras digitales en una onda analógica, que pueda ser reproducida por los altavoces conectados a la tarjeta de sonido. Esta conversión es realizada por el DAC (Digital Analog Converter, o conversor digital/analógico). El ADC y el DAC son los dos componentes más importantes de una tarjeta de sonido. Grabar los sonidos en formato digital permite reproducir con la calidad suficiente cualquier sonido analógico. El problema es que los archivos generados acaban siendo muy grandes, lo que dificulta su manejo. Sólo un minuto de audio grabado con una calidad de CD equivale a un archivo WAV de 10.5 MBytes. Para solucionar este inconveniente se usan dos técnicas: la compresión y la síntesis de audio.

9.1.1 La compresión Así como podemos comprimir documentos de Word o imágenes BMP, también podemos también comprimir archivos de audio, eliminando la información redundante. En música, un largo periodo con muestras de sonido del mismo valor podría ser sustituido por un pequeño código que informase que la misma frecuencia debe repetirse 318

09_Sonido_OK.qxp

27/07/2006

10:42

PÆgina 319

Sonido X veces. También podemos eliminar informaciones que ejerzan poca influencia sobre la calidad del sonido, eliminando pequeñas variaciones. Hasta cierto punto, es posible comprimir el sonido sin ninguna pérdida de calidad (sustituyendo secuencias de sonidos iguales por códigos que representan que el sonido debe ser repetido). Pero llega un punto en que es preciso prescindir de un poco de calidad para generar archivos más pequeños. Ejemplos de algoritmos de compresión de audio son el ADPCM, True Speech y el MP3, un formato de compresión extremadamente eficiente, popular y muy utilizado actualmente para transmitir música vía Internet. El formato MP3 permite una compresión de archivos WAV de casi un 90%, o sea, un archivo de música de 4 minutos que se correspondería con un archivo WAV de 42 MB puede ser convertido a un archivo MP3 de cerca 4 MB, sin ninguna pérdida significativa en la calidad del sonido. El formato MP3 consigue estos resultados a través de la eliminación de las frecuencias sonoras que no son captadas por el oído humano, pero que sirven para aumentar el tamaño de los archivos de audio. En la conversión de un archivo WAV a MP3, la degradación del sonido es muy pequeña, sólo se produce una pequeña distorsión en los sonidos graves, pero que generalmente no se percibe. Debido a la popularización del formato MP3, varios fabricantes lanzaron reproductores portátiles que permiten cargar la música desde el ordenador y oírla en cualquier lugar. Algunos modelos pueden ser conectados al puerto serie, la mayoría al puerto USB y otros ofrecen soporte para ambos. El problema de usar el puerto serie para transferir la música es la lentitud, cada archivo de 4 MB tarda casi 5 minutos en ser transferido. Usando un puerto USB la misma música se transfiere en pocos segundos. Otro formato que va adquiriendo bastante popularidad es el VQF, que usa un algoritmo de compresión más eficiente que el usado por el MP3, generando archivos hasta un 30% más pequeños. El problema del formato VQF es que, debido a la complejidad del algoritmo, la descompresión de los archivos es extremadamente dificultosa, exigiendo la intervención de un procesador muy potente. Otro formato relativamente nuevo es el WDM de Microsoft. Además de eliminar las frecuencias que no son audibles, este formato destaca los sonidos que son más perceptibles, recurso llamado "ringing". El objetivo principal de este formato es competir con Real Audio en las transmisiones de audio vía Internet, donde debido al poco ancho de banda, el sonido necesita ser muy comprimido. Usando tasas de compresión tan elevadas no es posible mantener una calidad muy buena, pero según la casa Microsoft los recursos del formato WDN permiten un audio con una calidad superior a la del formato de Real Audio y otros formatos semejantes. El formato WDM permite varios niveles de compresión y por eso puede ser usado para generar archivos con calidad semejante a la del CD, compitiendo en este caso con

319

Get in touch

Social

© Copyright 2013 - 2024 MYDOKUMENT.COM - All rights reserved.