You are on page 1of 7

UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO

FACULTAD DE ESTUDIOS SUPERIORES CUAUTITLÁN

CAMPO 4

LICENCIATURA EN INFORMÁTICA

ASIGNATURA:

GRAFICACIÓN POR COMPUTADORA

PROFESOR:

ROBERTO MURCIO VILLANUEVA

TEMA:

“ACELERADORES GRÁFICOS DE SOFTWARE”

INTEGRANTES:

ARANDA ORDOÑEZ LAURA ALEJANDRA

GIL RAMÍREZ ROCÍO MAGDALENA

VILCHIS RANGEL LOURDES JANNET

GRUPO:

2801
ACELERADORES GRÁFICOS DE SOFTWARE
DEFINICION

Un acelerador grafico de software es una herramienta utilizada para


incrementar la velocidad de los procesos y optimizar las tarjetas graficas,
mejorando su funcionamiento y rendimiento, ya sea para la utilización de video
juegos, gráficos en 2D y 3D o para acelerar las descargas.

HISTORIA

Hace algunos años, no se le prestaba en absoluto atención a la calidad de la


tarjeta VGA. Después, tras la aparición de la SVGA, fue el punto de partida a la
hora de mejorar estas tarjetas, ya que, junto con la evolución de la tecnología en
los monitores, cada vez soportaban mayores resoluciones al incorporar memorias
entre 1 y 3 Mb.

Pero la auténtica revolución gráfica fue en el sector tridimensional, el 3D,


donde se necesitan potencias de cálculo muy superiores que el microprocesador
central no puede soportar. Fundamentalmente, lo que hace un chip 3D es quitar la
labor del procesador de generar los triángulos y el relleno de texturas, haciendo
que la tarjeta gráfica lo haga sola liberando al procesador de otras tareas. Con
esto, se obtiene una mejora muy grande en lo que se refiere a la velocidad, y
además se han incorporado multitud de efectos gráficos fáciles de usar por los
programadores que mejoran sustancialmente la calidad de los gráficos. Las
primeras tarjetas con 3D para el mercado de consumo fueron aquellas Diamond
Edge 3D, 3D Blaster, o la S3 Virge, todas sin ser demasiado rápidas y con un
soporte de juegos muy limitado.

Dentro del campo 2D, gracias al estándar VESA, todas las tarjetas son
compatibles entre sí. Sin embargo, en los chips 3D (o la parte 3D de los chips
2D/3D), existen más problemas puesto que no todos contienen las mismas
instrucciones. Esto pasaba sobre todo en los primeros juegos acelerados 3D para
MS-DOS. Por ello, se han creado unos APIs, que consiguen solucionar estos
problemas, y funcionan bajo Windows 95/98. Éstos son el DirectX de Microsoft (el
componente Direct 3D en concreto) y el OpenGL de Silicon Graphics. Y también,
hay que recordar que no todas las tarjetas 3D son iguales: unas sirven digamos
para "trabajar" (las compatibles con programas como 3D Studio, TrueSpace...) y
las que sirven para "jugar". Muy pocas tarjetas se desenvuelven bien en estos dos
campos.

Y ya para terminar este apartado, dejemos fijadas ciertas bases de conocimiento:


Actualmente, en el mercado de consumo, existen 2 tipos de aceleradoras gráficas:

o Las propias aceleradoras 3D, tarjetas independientes que sólo entran en


funcionamiento cuando se ejecuta algún juego que necesite su
funcionamiento. Estas tarjetas requieren una tarjeta 2D que se encargue de
las tareas normales, con un único requisito de tener un mínimo 2 Mb. de
memoria. Además, ambas suelen estar unidas con un cable externo.
o Y luego están las tarjetas "híbridas" 2D/3D, que consisten en un único chip
que se encarga tanto de las funciones 2D como de las funciones 3D de una
aceleradora. Los últimos modelos que están apareciendo estos meses son
realmente buenos y no tienen nada que envidiar a las aceleradoras 3D puras.

Y ya por último, ten en cuenta que las tarjetas aceleradoras pueden servir para
"trabajar" o para jugar. Una aceleradora profesional de 300.000 ptas. será incapaz
de acelerar cualquier juego normal, y una aceleradora 3D pura de 30.000 no podrá
renderizar ningún tipo de gráfico en programas como 3D Studio o TrueSpace. Hay
muchas tarjetas híbridas 2D/3D que pueden acelerar juegos muy bien, y también
renderizar gráficos profesionales de una manera bastante aceptable.

UNIDAD DE PROCESAMIENTO GRÁFICO

Es un procesador dedicado al procesamiento de gráficos u operaciones de coma


flotante, para aligerar la carga de trabajo del procesador central en aplicaciones
como los videojuegos y o aplicaciones 3D interactivas.

ARQUITECTURA DEL GPU

Una GPU está altamente segmentada, lo que indica que posee gran cantidad de
unidades funcionales. Estas unidades funcionales se pueden dividir principalmente
en dos: aquéllas que procesan vértices, y aquéllas que procesan píxeles. Por
tanto, se establecen el vértice y el píxel como las principales unidades que maneja
la GPU.

Adicionalmente, y no con menos importancia, se encuentra la memoria. Ésta


destaca por su rapidez, y va a jugar un papel relevante a la hora de almacenar los
resultados intermedios de las operaciones y las texturas que se utilicen.

Inicialmente, a la GPU le llega la información de la CPU en forma de vértices. El


primer tratamiento que reciben estos vértices se realiza en el vertex shader. Aquí
se realizan transformaciones como la rotación o el movimiento de las figuras. Tras
esto, se define la parte de estos vértices que se va a ver (clipping), y los vértices
se transforman en píxeles mediante el proceso de rasterización. Estas etapas no
poseen una carga relevante para la GPU.

Donde sí se encuentra el principal cuello de botella del chip gráfico es en el


siguiente paso: el pixel shader. Aquí se realizan las transformaciones referentes a
los píxeles, tales como la aplicación de texturas. Cuando se ha realizado todo
esto, y antes de almacenar los píxeles en la caché, se aplican algunos efectos
como el antialiasing, blending y el efecto niebla.

Otras unidades funcionales llamadas ROP toman la información guardada en la


caché y preparan los píxeles para su visualización. También pueden encargarse
de aplicar algunos efectos. Tras esto, se almacena la salida en el frame buffer.
Ahora hay dos opciones: o tomar directamente estos píxeles para su
representación en un monitor digital, o generar una señal analógica a partir de
ellos, para monitores analógicos. Si es este último caso, han de pasar por un DAC,
Digital-Analog Converter, para ser finalmente mostrados en pantalla.

PROGRAMACION DE LA GPU

Al inicio, la programación de la GPU se realizaba con llamadas a servicios de


interrupción de la BIOS. Tras esto, la programación de la GPU se empezó a hacer
en el lenguaje ensamblador específico a cada modelo. Posteriormente, se
introdujo un nivel más entre el hardware y el software, con la creación de APIs
(Application Program Interface) específicas para gráficos, que proporcionaron un
lenguaje más homogéneo para los modelos existentes en el mercado. La primera
API usado ampliamente fue estándar abierto OpenGL (Open Graphics Language),
tras el cuál Microsoft desarrolló DirectX.

Tras el desarrollo de APIs, se decidió crear un lenguaje más natural y cercano al


programador, es decir, desarrollar un lenguajes de alto nivel para gráficos. Por
ello, de OpenGL y DirectX surgieron estas propuestas. El lenguaje estándar de
alto nivel, asociado a la biblioteca OpenGL es el "OpenGL Shading Language",
GLSL, implementado en principio por todos los fabricantes. La empresa
californiana NVIDIA creó un lenguage propietario llamado Cg (del inglés, "C for
graphics"), con mejores resultados que GLSL en las pruebas de eficiencia. En
colaboración con NVIDIA, Microsoft desarrolló su "High Level Shading Language",
HLSL, prácticamente idéntico a Cg, pero con ciertas incompatibilidades menores.

Cada chip gráfico tiene una forma de procesar las rutinas implementadas en ellos,
por lo que hay una incompatibilidad (sobre todo en el 3D, ya que en el 2D existe el
estándar VESA que libera de estos problemas).

Para ello, han surgido las librerías de programación, para unificar en un API las
diferentes funciones, y destacan 2:

OpenGL, de Silicon Graphics, que está adoptada por sistemas como Unix,
Iris, Windows NT, para profesionales.
DirectX, de Microsoft, limitada a Windows 95/98 y dedicada a los juegos.

Depende de nuestro uso del ordenador, nos decantaremos por el soporte de uno u
otro (aunque hay varias tarjetas gráficas que soportan los dos).
Cada acelerador de gráficos proporciona una interfaz de programación de
aplicaciones (API).

Una interfaz de programación representa una interfaz de comunicación entre


componentes de software. Se trata del conjunto de llamadas a ciertas bibliotecas
que ofrecen acceso a ciertos servicios desde los procesos y representa un método
para conseguir abstracción en la programación, generalmente (aunque no
necesariamente) entre los niveles o capas inferiores y los superiores del software.
Uno de los principales propósitos de una API consiste en proporcionar un conjunto
de funciones de uso general, por ejemplo, para dibujar ventanas o iconos en la
pantalla. De esta forma, los programadores se benefician de las ventajas de la API
haciendo uso de su funcionalidad, evitándose el trabajo de programar todo desde
el principio. Las APIs asimismo son abstractas: el software que proporciona una
cierta API generalmente es llamado la implementación de esa API.

EJEMPLOS DE ACELERADORES GRAFICOS DE SOFTWARE

OpenGL es uno de los API con mayor difusión y uso dentro del mundo de
aceleración 3D (junto con Direct 3D incluido en DirectX).

La interfaz consiste en más de 250 funciones diferentes que pueden usarse


para dibujar escenas tridimensionales complejas a partir de primitivas geométricas
simples, tales como puntos, líneas y triángulos. Se usa ampliamente en CAD,
realidad virtual, representación científica, visualización de información y simulación
de vuelo. También se usa en desarrollo de videojuegos, donde compite con
Direct3D en plataformas Microsoft Windows.

Este APi instala las librerías necesarias para la amplia cantidad de tarjetas
gráficas que soporta, entre las que se incluyen por ejemplo: todas las Vodoo de
3Dfx, algunos modelos de Riva, NVidia, Kyra, ATI, Intel etc.

SciTech GLDirect es una herramienta para optimizar


los juegos de PC y softwares que utilizan DirectX 7, 8 o 9 como me-
dio para aceleración gráfica. Scithech GLDirect utiliza la tecnologia
OpenGL de aceleración gráfica en cualquier tipo de tarjeta gráfica,
y básicamente lo que hace es acelerar, optimizar y aumentar el ren
dimiento al doble o más.

Radeon Omega Drivers es un pack de controladores para tu tarjeta ATI


Radeon, compatible con todos los modelos actualmente disponibles en el
mercado. Basado en los ATI Catalyst, proporciona una potente alternativa al
controlador distribuido de fábrica, ya que incluye optimizaciones y numerosos
extras que realzarán tu experiencia de hard gamer (gran jugador), exprimiendo al
máximo el rendimiento de tu tarjeta.
NVIDIA System Utility trata de un conjunto de herramientas mediante las
cuales podrá realizar cualquier tipo de cambio referente a su “video/sound card”,
configurar alguna sección en particular, modificar muchos de sus aspectos, entre
muchas otras acciones más, a fin de mejorar la calidad de su NVIDIA.
Es una excelente herramienta de nForce que se utiliza para acceder,
monitorizar y ajustar los componentes del sistema (incluidos la temperatura y los
voltajes) a través de paneles de control muy fáciles de utilizar. Permite acelerar el
reloj para obtener el máximo rendimiento o decelerarlo para que el sistema
funcione con el menor ruido posible. Todos los cambios se realizan desde la
interfaz de Windows® para proporcionar total funcionalidad sin tener que hacer
cambios en la BIOS ni reiniciar el sistema.
Direct3D es parte de DirectX (conjunto de bibliotecas para multimedia).
Consiste en una API para la programación de gráficos 3D. Está disponible tanto en
los sistemas Windows de 32 y 64 bits, como para sus consolas Xbox y Xbox 360.
El objetivo de esta API es facilitar el manejo y trazado de entidades gráficas
elementales, como líneas, polígonos y texturas, en cualquier aplicación qué
despliegue gráficos en 3D, así como efectuar de forma transparente
transformaciones geométricas sobre dichas entidades. Direct3D provee también
una interfaz transparente con el hardware de aceleración gráfica.
Se usa principalmente en aplicaciones donde el rendimiento es fundamental,
como los videojuegos, aprovechando el hardware de aceleración gráfica
disponible en la tarjeta gráfica.
EL FUTURO

Se necesita cambiar de forma de ver a la arquitectura moderna en 3D.

SGI (Silicon Graphics Inc.) ha demostrado que hay un montón de


oportunidades para optimizar los programas en la capa de escena-gráfico.
Esto ha llevado a entrar en un proyecto conjunto con Microsoft llamada
"Fahrenheit", que unificará las arquitecturas de gráficos OpenGL, Direct3D, así
como la adición de una arquitectura escena gráfica.
Las funciones avanzadas como el mapeo de desplazamiento golpe / y nurbs
son el siguiente nivel de realismo gráfico que tendrá que hacer los proveedores de
gráficos pensar en cómo implementar primitivas no triangulares.
Algunos sugieren que un acelerador para la arquitectura de Pixar Renderman
es posible (esta es la tecnología que llevó a Toy Story y A Bug's Life a la gran
pantalla.) La idea básica es describir las superficies objeto de programación por la
perturbación y el contenido de textura con subrutinas llamadas shaders.
Renderman es probablemente el sistema de representación más avanzada, pero
no se puede hacer en tiempo real con la tecnología actual debido a la enorme
potencia de cálculo necesaria.
REFERENCIAS Y BIBLIOGRAFIA

Hsieh Pablo, “Aceleradores Gráficos ¿Qué son?”, revistaPRO-E, 2004, 10


de febrero de 2011,
<<http://translate.google.com/translate?hl=es&langpair=en|es&u=http://www.azillio
nmonkeys.com/qed/accelerator.html>>.

“Tarjetas Gráficas “,Duiop.net, 10 de febrero de 2011,


<<http://www.duiops.net/hardware/tarjgraf/tarjgraf.htm>>

“DirectX”, wikipedia, 27 de diciembre de 2010, 20 de febrero de 2011,


<<http://es.wikipedia.org/wiki/DirectX>>

“OpenGL”, wikipedia, 22 de enero de 2011, 20 de febrero de 2011,


<<http://es.wikipedia.org/wiki/OpenGL#Dise.C3.B1o>>

“¿Cómo funcionan las tarjetas graficas?”, taringa, 14 de julio de 2010, 20 de


febrero de 2011, <<http://www.taringa.net/posts/info/5793844/Como-Funcionan-
Las-Tarjetas-Graficas.html>>

“El Acelerador grafico”, 20 de febrero de 2011” Scribd, 20 de febrero de


2011, <<http://www.scribd.com/doc/7304995/107/El-acelerador-grafico>>

“Unidad de Procesamiento Gráfico”, wikipedia, 9 de enero de 2011, 20 de


febrero de 2011,
<<http://es.wikipedia.org/wiki/Unidad_de_procesamiento_gr%C3%A1fico#Arquitect
ura_de_la_GPU>>.

Gráficos 3D por computadora, Licencia Creative Commons Atribución


Compartir Igual 3.0, 28 ene 2011,
<<http://es.wikipedia.org/wiki/Gr%C3%A1ficos_3D_por_computadora>>

You might also like