viernes, 29 de enero de 2010

Puntos que mirar para seleccionar una tarjeta de video (Parte III)



Este, es el articulo final de la serie Puntos que mirar para seleccionar una tarjeta de video, si no has leído los anteriores artículos te recomiendo leer la Parte I: Introducción y la Parte II: Tipo de Tarjetas; o en su defecto puedes complementar con Significado de los 1x, 2x, 4x, 8x y 16x en las Tarjetas de Video.

Aspecto de la Tarjeta que debemos observar

Como existen 2 tecnologías para tarjetas gráficas, debemos empezar por las más viejas

AGP

Con ella no debemos tomar muchos puntos, lo principal son es el voltaje, recuerden que existen 2 voltajes: 1.5 V y 3.3 V (también existe uno mixto) que deberás elegir en base a tu tarjeta madre

Con respecto a los Megabytes de memorias de estas tarjetas, normalmente se utilizan para la precargar las texturas (lo que quiere decir todas esas imágenes que hacen más realistas una escena o animación computarizada), en teoría mientras más memoria tenga la tarjeta de video, mas texturas puede cargar, pero no haces nada si un buen GPU (Graphics Processor Unit) para procesar esa información.

Lamentablemente la tecnología AGP por su limitada velocidades de transferencia (representada en las tarjetas como velocidades X).

En resumen, si tu tarjeta madre posee un puerto AGP, te recomendaría comprar una tarjeta de video AGP de 8X con la mayor cantidad de memoria.

PCI-Express

Aunque mucho lo piensen, el PCI-Express no es una evolución del AGP, realmente es una evolución de los puertos PCI y han salido varios modelos (1x, 4x, 16x) con diferentes funciones, pero nos enfocaremos en las tarjetas PCI-Express 16X.

Por su complejidad, debemos conocer ciertos conceptos que nos ayudaran a seleccionar mejor una tarjeta de video:

Ancho de Banda: se refiere a la velocidad a la que se transfieren los datos por el bus de la tarjeta de video, suele expresarse en bytes por segundo (B/s), Megabytes por segundo (MB/s) o Gigabytes por segundo (GB/s). Se calcula multiplicando la frecuencia de trabajo del bus, en ciclos por segundo por el número de bytes que se transfieren en cada ciclo. Por ejemplo, un bus que transmite 64 bits de datos a 266 MHz tendrá un ancho de banda de 2,1 GB/s. Algunas veces se transmite más de un bit en cada ciclo de reloj, en este caso se multiplicará el número de bits por la cantidad de transferencias que se realizan en cada ciclo.

ROP: es una capacidad interna que tiene la tarjeta de videos, Un rop, es un pequeño núcleo como un mini procesador que va procesando un píxel a la vez, para crear los pixeles de la imagen a mostrar en el monito, por ende la tarjeta de videos tiene varios rop, y mientras más tenga será mayor la cantidad de texturas que pueda procesar. Ya que estos al parecer se ejecutan de forma paralela.

Stream Procesors: es una unidad de proceso, en la terminología de las tarjetas de video se refiere a cuantas de estas unidades pueden trabajar en paralelo en el renderizado de las imágenes. Mientras más alto sea el número, más objetos podrán ser procesados al mismo tiempo en una misma escena.

Los Stream Procesors, generalmente se usan para los sombreados ya sea de vértices o de pixeles, en las tarjetas viejitas (antes de ATI 2x00 y nVIDIA 8x00) estas unidades trabajaban un poco diferente.

Antes se llamaban Pixel y Vertex Shaders, como su nombre lo indica se encargaban de hacer operaciones de sombreado especializados ya fuera en los pixeles (como los relieves en la piel de algún personaje) o los vértices (que sirven por ejemplo para hacer deformaciones de vértices).

En la actualidad un Stream Processor puede hacer cualquiera de esas operaciones, es parecida a una unidad de punto flotante...

En realidad las ATI NO tienen muchos más Stream Processor, por ejemplo la serie 4800, dice tener 800, sin embargo son diferentes a los de nVIDIA, ellos los ponen así porque se supone que pueden hacer varias operaciones a la vez (5 si mal no recuerdo) el problema es cuando no se utiliza toda la arquitectura, creo que una forma un poco más pareja de comparar las cosas seria:

800/5 = 160 SP (ATI)
128 SP (nVIDIA serie 8 y 9)
240 serie GTX 200

Pero bueno en realidad eso es subjetivo, aunque es un buen parámetro, la potencia real depende del uso que le dé un desarrollador...

Pipelines: es una capacidad interna que tiene el GPU, Un Pipeline, es un pequeño núcleo como un mini procesador que va procesando un píxel a la vez, para crear las texturas de la imagen, por ende la GPU tiene varios Pipelines, y mientras más tenga será mayor la cantidad de texturas que pueda procesar. Ya que estos al parecer se ejecutan de forma paralela.

Shaders: es una herramienta interna de la GPU, existen los Vertex Shaders, Geometry Shaders y Pixel/Fragment Shaders. Las cuales se engloban en diferentes versiones (Shader 1.0, 2.0, 3.0, 4.0)



Para comprender mejor los Shader, tomemos por ejemplo los Vertex Shader, el cual es un proceso grafico que agrega efectos especiales a ambientes 3d, los cuales ejecuta operaciones matemáticas complejas llamadas “Vertex data”, cada uno de los Vertex (vértices) puede ser definido como una variable diferente, para entenderlo mejor, un Vertex definido de acuerdo con la situación del ambiente 3D, usando X, Y, C, E, Z como coordenadas, el cual también puede ser definido por colores, texturas o luces.

Cuan sea más avanzada la versión del Shader en la placa de video más cualidades y potencia tendrá. Imaginemos un personaje cubierto de pelos o un efecto de explosión en el juego esos pelos y esa explosión seria procesada y los modelaría en las versiones superiores, o solo nos mostraría una serie de polígonos sin detalles en las versiones inferiores.

Clock: todo proceso informático necesita sincronizarse para poder establecer su velocidad de trabajo (esta velocidad es dada por el fabricante de la GPU).
Memoria de Video: Funcionan exactamente igual que las memorias de nuestro computador, e igualmente tienen ciertos parámetros que revisaremos a continuación.

Para explicarlo de formar más sencilla: Mientras la GPU trabaja en los procesos anteriores va depositando y extrayendo información de las memorias, estas le sirven como bodega temporal a la GPU para realizar el trabajo. También a las memorias se les aplica un Clock que se mide en MHZ (MILLONES DE HERTZ) Y por ende estas tienen una:

- Velocidad de trabajo: la cual se mide en ns (nano segundo, 1ns es 0,000,000,001 segundos), mientras menor sea la velocidad, mayor es la velocidad de procesamiento. Una velocidad de memoria entre 6ns y 5ns son buenas velocidades, por debajo de eso es excelente.

- Tasa de Llenado (Fillrate): se refiere a la cantidad de pixel que puede procesar, renderizar y escribir en la memoria una GPU. Sus medidas más comunes son megapíxel por segundos o gigapíxels por segundo y se calculan multiplicando los ROP por la velocidad de reloj de la GPU. Sin embargo, algunos expertos no están de acuerdo con esta forma de calcularlo y utilizan el número de textura que puede procesar por la velocidad de reloj o multiplicar los Pixel Pipelines por la velocidad de reloj.

- Ancho de Banda: el ancho de banda en las memorias se podría traducir en el ancho del “Puente” por donde atraviesa la información Mientras más ancho sea el puente (Bits) Mayor será la cantidad de información que podría ser enviada y con ello tener un mejor desempeño.

Forma de detectar Rendimiento de una Tarjeta de Video

Usualmente hoy las tarjetas de video vienen con las ancho de banda entre 64bits 128bits 256bits y 512bits (Seguro que a futuro serán de 1024bits) Calculemos entonces el número de información que será capaz de trasmitir las memorias de una placa de video:

Definamos:

64 bits = 8 bytes, 128 bits = 16 bytes, 256 bits = 32 bytes, 512 bits = 64 bytes.

Entonces una VGA que tiene memorias a 64 bits sería mucho más lento que una misma con 128 bits en los bits, suponiendo el Clock es de 400 MHz 8 bytes * 400 = 3.2 Gb/s (Gigabytes por Segundo) de información contra 16 bytes * 400 = 6.4 Gb/s de información.

Tomemos un ejemplo real:

Geforce 7900GTX 512 Mb Especificaciones

En el podemos apreciar que el la velocidad de la memoria (RAMDACs) es de 400 MHz y el ancho de banda de la memoria 256 bit

ATI Radeon x1650 256 Mb Especificaciones

En esta tarjeta apreciamos que la Memory Bandwitch es de 1350 MHz y el ancho de banda de la memoria es de 256 bits

Analizando, no dan como resultado que la banda pasante, es decir el camino por donde pasaran los datos es mucho mayor en la tarjeta ATI que en la Tarjeta Nvidia (Nvidia: 12.8 Gb/s vs Ati: 43.20 Gb/s) …

Entonces no preguntamos, qué papel juega realmente la memoria dentro de nuestras tarjetas de video.

La memoria solo sirve como un almacén, para tener de forma temporal el procesamiento que hace el GPU, antiguamente, como todas las tarjetas eran más o menos estándares, se cumplía el axioma de más memoria, más rapidez.
Pero ese mito se elimina hoy en día por la variedad de opciones: Stream Processor, Ancho de Banda de la Memoria, Velocidad de Trabajo de la GPU y Tasa de llenado.

Resumen

Seleccionar una tarjeta de video no es nada fácil como la mayoría piensa. La elección de una tarjeta de video va desde el puerto en donde la voy a conectar, el tipo de tarjeta de video a seleccionar y sus caracteristicas. Y en base a eso es que podemos hacer una elección adecuada a nuestros bolsillos.

No hay comentarios: