MeltIT
5Dec/091

Placas de video: Conocimientos generales y eleccion

La redacción de esto, es básicamente para limpiar las dudas. Pienso explicar cuales son las diferencias de una placa de video con la otra, el porque una "de 256MB" sale U$S300 y la otra U$S100. Ir más a fondo, ya que la memoria ram de una placa de video, no es lo que lleva a elegir una placa o la otra. A lo largo de este articulo voy a explicar que es lo que interviene en una placa de video, y porque algunas son más caras que otras.

Indice:

Interfaz.
Memoria VRAM.
Memory bus width.
Core Clock.
Memory Clock.
Pipelines y Vertex.
Software: DirectX y OpenGL.
Software: End-user. (Ejemplos completos).
Indicaciones de numeración de modelos.
Conclusiones.
Aclaración extra por flyguille, sobre pipelines.

Interfaz:
Empecemos desde abajo, ¿AGP o PCI-E? Esto va según el motherboard, actualmente hay mothers AGP 8x o PCI-E 16x, AGP ya no estan viniendo por que PCI-E es más nuevo (ya habran visto que es 16x, el doble) y todo lo que es high end es solo PCI-E (aun kedan un par de modelos que salieron AGP) para evitar un cuello de botella por el AGP. Si se va a comprar una placa AGP, la unica consideración que hay que tener es si es 2x, 4x u 8x, esto depende del mother tmb, porque estos 3 AGP trabajan a distintos voltajes, y es según lo que el mother este diseñado para entregar, aclaro que fisicamente son distintos tienen un pequeño cambio.

Memoria VRAM:
Entonces, ¿256MB o 128MB? Muchos dirán, 256MB es mejor porque es más, pero más no es mejor, a veces si, pero no siempre lo es, lo que tiene que quedar claro es que la memoria esta su uso principal es texturas. Básicamente, no se puede explicar esto así nomás, hay varios conceptos que interfieren en una placa de video, Core clock, Memory clock, Pipelines, Vertex, Memory Bus width y luego en lo que a software ya se hable, versión de DirectX y OpenGL soportada.

Memory Bus Width:
Memory Bus Width (bits); es el bus de conexión del GPU (Graphics processing unit, procesador de video) y las memorias. Mayor es mejor en este caso siempre, ya que sino se producen cuellos de botella. Actualmente nos encontramos con 64bit, 128bit y 256bit de bus. Si bien 256bit es más tirando a high-end, hay casos en los que se ve placas de video de 64bit con 256mb de memoria, y 128bit y 128mb de memoria, pero sabiendo que son placas low-end, las 128bit/128mb va a ser mejor, pero hay que seguir explicando. Hay que dejar claro que lo minimo debe ser una interfaz de 128bit. Es importante saber que 64bit pueden causar un gran cuello de botella.

Core Clock:
Core Clock (MHz), velocidad del GPU, al ser un procesador, tiene una frecuencia, medida en MHz. Los GPU's están divididos en modelos, ejemplo de los GeForce (de la empresa nVidia), 6200 es un GPU, 6600 es otro, 6600GT es otro, y así y así. Básicamente estos son muy importantes ya que en conjunto a los pipelines definen el Fillrate, a más frecuencia, siempre recordando que en general todo debe estar equilibrado, va a ser mejor. Los distintos GPU's, tienen más o menos core clock, lo que afecta en gran parte al rendimiento.

Memory Clock:
Memory Clock (MHz), la frecuencia de las memorias, junto con su interfaz (DDR, GDDR2, GDDR3), definen la velocidad de las memorias. Este es un punto importante, ya que algunas placas de video, poseen 128MB GDDR3 o 256MB GDDR2 (hablando de un mismo modelo), y dependiendo el caso, siendo mid-end o low-end, la de 128MB GDDR3 será mejor. Ese es el hecho de que tienen precios muy similares, se usan memorias más lentas, también esta el hecho de los 'ns' de la memoria, asumo que estos deben ser los nanosegundos de respuesta de la memoria, no encontre información al respescto de esto, en cuanto encuentre edito.

Pipelines y Vertex:
Estos por lo general no se conocen, si bien buscando se encuentra, hay que tener en cuenta, que si bien dos placas de video pueden tener, misma interfaz, misma memoria, misma velocidad del GPU, los Pipeline y los Vertex generaran mucho impacto. Pipeline * Core clock = Fillrate. Un pipeline es un set de elementos para procesar datos que esta conectado en serie, la finalidad de este es que la salida de un elemento, sea la entrada del proximo elemento. A más pipelines, más datos se pueden procesar en un mismo tiempo, es como una línea de ensamblado. En video la función es transformar los objetos 3D a 2D para el monitor, en el proceso, se van eliminando partes de la imágen que no se ven, se aplican las luces, se da texturas, etc.Aclaración extra por flyguille, sobre pipelines.

Software: Dx y oGL:
Definido la parte hardware, vamos a software. Comenzando por el soporte, ya sea DirectX u OpenGL. Encargados de los gráficos, se programa con estos para generar lo que sea grafico, actualmente DirectX 9.0c es la ultima versión y OpenGL 2.0. OpenGL se usa en Windows y en sistemas Unix entre otros. DirectX es propietario de Microsoft, y solo disponible para sus sistemas Windows. Entonces, ¿que hace vital a la versión?, básicamente lo que soporte, ejemplo una GeForce 4 tiene Dx(DirectX) 8.0 y una GeForce FX (sea cual sea) tiene Dx 9.0, la GF4 puede ser mejor placa, pero juegos que requieran Dx9.0 para alguna tecnología (Ej.: Pixel Shader 3.0), no podrán correr en la GF4 por falta de este, en cambio fuere más lenta una placa GF de la línea FX, podrá correr. Bien, de OpenGL no se nombra mucho no es el popular de los juegos pero hay una cantidad de juegos que lo tienen, por lo general hasta donde yo he visto OpenGL 1.4+ es suficiente pero igualmente iría por la ultima tecnología.

Software: End-User:
Acá ya es todo a definir. Lo más importante, basándose en un presupuesto, lo que conviene. Tiene que quedar claro, que una placa onboard (integrada) de 32mb es más que suficiente sino se van a usar juegos, por lo tanto no es motivo para gastar en una placa de video. Sin embargo, los juegos si requieren y mucho. Pero claro, todo va en pretensiones, no es lo mismo 640x480 low, que 1280x1024 medium, que 1600x1200 high. Bien, si se tiene un monitor copado, se ve que resolución se usa, dependiendo la resolución a gusto (a mi gusto 1024x768 como mínimo, 1280x1024 o más lo ideal), y la calidad grafica. Cualquiera que haya visto un juego en 1280x1024 high, sabe que no es lo mismo que 640x480 low, hay una gran diferencia. Ahora, el dinero invertido es directamente proporcional al rendimiento, pero queda claro, que si ponemos la plata, queremos que rinda al máximo, o por lo menos alguien común querría eso. Bien, supongamos que somos algo exigentes, pero no disponemos de muchísimo para gastar, y estemos en el rango de una 6600 o ya llegando a una 6600GT. El hecho es que nos ponemos a ver y descubrimos que hay 6600GT de 128MB y 6600 de 256MB, dicho esta, puede que vallamos por la 6600, pero como he nombrado, no significa que más es mejor, por eso empezamos con lo técnico. Los pipelines y vertex son iguales 8 y 3 respectivamente, ahí no hay cambios. Pero nos encontramos que la 6600GT tiene 150MHz/200MHz a favor sobre la 6600, cosa que realmente hace diferencia, si continuamos la 6600GT tiene memorias GDDR3, contra GDDR2/DDR de la 6600, la 6600GT tiene 200MHz/450MHz más en las memorias dependiendo el tipo de las mismas y como ultimo tiene más ancho de banda de memorias (16GB/s vs. 12.8GB/s o 8.8GB/s). Claro esta, la 6600GT es mejor, supera en todo menos memoria, pero queda una duda, ¿Son 128MB suficientes?, ¿Por qué una placa peor que una 6600GT tiene más memoria que la 6600GT?. Bien, la respuesta a esto es: Marketing. Así es, los 128MB se consideran suficientes, ¿Por qué esto?, fácil, vallamos a un ejemplo de un juego. Nosotros vamos a jugar al juego, este requiere más de 128MB de memoria de video en detalle máximo para las texturas, sin embargo, en el resto de los detalles 128MB son suficientes. Claro entonces, pero si nosotros queremos jugar con nuestra 6600GT de 128MB a este juego, nos faltara memoria, pero el punto acá es que, la 6600GT seguramente, por la velocidad del GPU entre otros, no se podrá jugar bien al juego con detalle máximo, claro que si con la 6600GT lo hace, ni hablemos con la 6600 que es inferior, entonces si la 6600 tiene la memoria para el juego, pero nosotros lo ponemos en detalle alto, esto será inútil ya que al tener un GPU que no tiene tanto rendimiento como el necesario para que se pueda jugar bien y tenga sentido tanta memoria, queda por decir que, no siempre 256MB es mejor, siempre tiene que haber un buen GPU, acompañado de un buen bus de memoria, y buenas memorias, es por eso que en low-end 256MB no son recomendables, en mid-end muy raro, estaremos hablando de 6800GS/6800GT para arriba. Ya high-end todas deberían aprovechar los 256MB.

Modelos:
Para cerrar voy a hacer mención de algo un tanto importante, sobre la numeración de las placas de video. Vamos a un ejemplo, una 6800GT contra una 7300, la 6800GT le pasa el trapo. El tema es este, en el caso de nVidia, la numeración es así. El 6*** indica la serie, en este caso la 6, lo siguiente indica el rango dentro de la serie. Los 100 a 500 son low-end, 600 y 700 mid-end, y 800 y 900 high-end, no se si se cumple siempre, pero si en muchos casos, hay que tener cuidado con esto porque a veces se engaña diciendo que una 7300 es más nueva, claro que lo es, puede tener nuevas tecnologías como ventaja (que no siempre es el caso), pero cabe destacar que placas de generación anterior pueden tener mismo nivel de tecnología (no siempre), pero pueden ser mejores, y a veces por mucho.

Conclusiones:
Importante para saber que comprar, usar google, se va a encontrar mucho sobre placas de video, mucha gente ya ha preguntado en foros sobre que placa conviene contra otra, demás que buscar en páginas de reviews de hardware es vital, información sobre resultados en juegos, o lo que sea, aunque hay que tener cuidado, a veces están comprados los resultados.

Espero que esto haya sido de buen entender para todos, a veces encuentro difícil el tema de obtener información sobre video, más que esta lleno de spam, seguro me he equivocado en algo, espero correcciones no tengo drama :P , la idea es que este lo más completo, y que sea lo más básico posible.

Aclaración por flyguille:
Pipeline, es un nombre medio sacado de las líneas de producción de las que hay en fábricas.
Pipe = tubo
Line = línea.
A que se refiere con esto? El GPU no renderiza poligono por polígono, sino de a X polígonos al mismo tiempo en forma paralela ¿Cuantos? ... bueno, ¿Cuántas líneas de producción tiene adentro?, decir que tiene 4 pipelines es decir que tiene 4 líneas de producción en paralelo que son capaces cada una de renderizar un polígono independientemente... Entonces ¿Cómo funciona?.... para renderizar una escena hay que dibujar un montón de polígonos, entonces esa pila de trabajo (materia prima de nuestra virtual fábrica) se va repartiendo, imaginense de una pila de papeles, y cada pipeline en la medida que vaya quedando libre va a ir a agarrar otro papel para seguir con su trabajo...hasta que la pila de trabajo se acabe.... siendo así es entendible porque el factor pipeline afecta mucho al rendimiento (pero el rendimiento no se ve multiplicado por el factor PIPELINE tan directamente ya que el lugar donde se almacena la materia prima (la pila de papeles es almacenada en un lugar compartido y con una puerta relativamente mas o menos pequeña "la memoria de video" aka VRAM) pero sí influye enormemente en el rendimiento. Como dije, la pila de trabajo se almacena en la VRAM que no solo almacena las texturas sino también el mapa y objetos a renderizar. Las aplicaciones solo trabajan con lo que hay en la VRAM y dejan que el GPU interprete y renderice la escena. Entonces, se vuelve muy importante la velocidad de la VRAM, los chips se miden en "ns" (nanosegundo), ese factor determinará directamente hasta cuantos mhz pueden operar (velocidad) y el "ancho de bus" medido en cantidad de bits (sería la puerta de ingreso al lugar donde está la materia prima en nuestra fábrica imaginaria). Estos dos factores determinan el "ancho de banda" medido en GBps que indica cuanta información puede ser extraida de la RAM por segundo.

Comments (1) Trackbacks (0)
  1. cuantos hz debe estar conectado? una palca comun


Leave a comment

 

No trackbacks yet.