Todo sobre fichas y chips de video: memoria de video, video en equipos de escritorio, laptops, tablets y smartphones, consumo de energía, fusion, pci-express, directx y mucho más. En esta pequeña guía explicaré el funcionamiento y características escenciales de los chips de video, por conveniencia se ha dividido en las próximos secciones: 1. Introducción 2. Clasificación 3. Desempeño 3.1 Aceleración 2D y 3D 3.2 Aceleración de códecs de video 3.3 Memoria de video 4. Puertos de video 5. Tarjetas Discretas 5.1 Instalación 5.2 Consumo de Energía y Calentamiento 6. Configuración en Equipos PC 6.1 APIs 6.2 Drivers 6.3 Reproducción de video Introducción Una tarjeta de video es en si mismo una pequeña computadora, capaz de procesar, Guardar y mover información de tipo gráfico, Es en la mayoría de los casos el componente más significativo después del microprocesador, la podemos analizar como el 2o cerebro que tiene lugar dentro de vuestra computadora. Cuando adquirimos un equipo de cómputo nuevo o una tarjeta de video es significativo tener en mente el uso que le vamos a dar. Algunas aplicaciones como: Reproducción de Videos y Películas en HD Edición de Videos Diseño y Animación 3D Aplicaciones de Ingenieria o Arquitectura Videojuegos Pueden ser procesados de manera más rápida y eficientemente con ayuda de la tarjeta de video. Si poseemos en mente usar determinado proyecto de software en particular, es significativo revisar los requerimientos minusculos de sistema, algunos proyectos simplemente no funcionarán si no contamos con una tarjeta de video apropiada. A lo largo de esta guia veremos como escoger la tarjeta más apropiada a nuestras necesidades. Clasificación Hay tres tipos de fichas de video que encontramos comunmente: Tarjetas de Video Discretas, son fichas como la que se presenta en la retrato de abajo, se ecuentran en equipos de escritorio, pueden ser obtenidas o actualizadas, cuentan con su particular memoria de video conocida como memoria dedicada, y en común son rápidas, pero también más costosas. Tarjetas de Video Integradas en la Tarjeta Madr (IGP) hoy en dia el tipo de tarjeta de video más común, como su nombre lo indica son chips formados que econtramos en la placa principal del equipo (generalmente en el chipset o puente norte), vienen soldados de fábrica y no se pueden cambiar.  Las encontramos en tablets, netbooks, laptops, y computadoras de escritorio. En estas últimas tiene lugar la probabilidad de añadir otra tarjeta de video, sin embargo, solo una de ellas funcionará a la vez. No son tan rápidas como las discretas pero son más baratas. La mayoría de estas no cuentan con memoria particular y emplean fracción de la memoria RAM del sistema para funcionar, este lugar se le conoce como memoria compartida el cual reduce la memoria disponible para el sistema operativo y los programas, aunque en común casi siempre es probable añadir físicamente más memoria RAM al sistema. Tarjetas de Video Integradas en el Procesador, cada dia es más común descubrir computadoras donde la tarjeta de video y el procesador estan formados en un solo chip. Algunos ejemplos son: la linea de procesadores Fusion de AMD, los procesadores Intel con HD Graphics y en común casi todos los procesadores de tablets como el Nvidia Tegra2. En algunos casos estas pueden ser más rápidas que las integradas en el tarjeta madre (como los AMD Fusion A8-3600 ? 3800), pero más lentos que las discretas. Tampoco cuentan con memoria particular y emplean fracción de la memoria del sistema para funcionar. Una de sus principales ventajas es la mayor velocidad de comunicación con el procesador y la memoria RAM. Es probable que en algunos años este tipo de fichas ofrezcan el mismo desempeño que las discretas. Sin importar el tipo de tarjeta todas ellas cuentan con un procesador llamado Unidad de Procesamiento Gráfico o GPU (por sus siglas en inglés), el cual determina las capacidades de video del equipo. Son identificados por el nombre del fabricante, marca y modelo. Por ejemplo: ?Nvidia GeForce GT560″, donde el fabricante es Nvidia, la marca GeForce y el modelo GT560. Convencionalmente la numeración del modelo representa la familia: serie 500 y el desempeño: 60, aunque esta norma muchas veces no se cumple y hay que tener cuidado. Desempeño Aceleración 2D y 3D La aceleración 2D, se refiere a la aceleración de los fundamentos en 2 dimensiones que usamos todos los días en vuestro escritorio: botones, menús, ventanas, el ratón, ... También es provechoso para manipular retratos y hacer edición de imagenes en 2D. La mayoría de las fichas de video nuevas y no tan nuevas cuentan con la aceleración 2D necesaria y se puede analizar como un agente de poca importancia al escoger una tarjeta de video. La aceleración 3D, se refiere a la aceleración de objetos tridimensionales que son utilizados comunmente en proyectos de edición, animación 3D, videojuegos, proyectos de ingeniería, arquitectura, etc. Cada uno de estos proyectos tiene una  demanda distinto de aceleración 3D y de memoria de video. En el software de edición y animación 3D esta demanda dependerá del proyecto que utilicemos y de los fundamentos que trabajemos, entre más información sea manipulada (texturas, poligonos, efectos especiales), gran será también la demanda de recursos a la tarjeta de video. Y será indispensable una tarjeta con granes capacidades. En el caso de los videojuegos los títulos más recientes son los más demandantes. Cuando un videojuego es demasiado pesado para vuestra tarjeta gráfica, este se congelará, se verá muy lento o de manera pausada, en algunos casos haciendo imposible jugarlo. Este resultado se debe a que el número de cuadros (o imágenes) por segundo que puede procesar vuestro GPU es muy bajo. Por esta razón muchos videojuegos incluyen alternativas para mejorar la velocidad aunque esto signifique sacrificar fundamentos visuales. La mayoría de los videojuegos se pueden jugar perfectamente a más de 45 cuadros por segundo o fps (de sus siglas inglés), algunos juegos de táctica o de movientos en 2D se pueden jugar a 30 fps o menos, entretanto que algunos de primera persona necesitan 60 fps para conseguir movimientos veloces y fluidos. Solo como referencia, recordemos que la mayoría de las peliculas se proyectan a 24 o 25 fps. Veamos el próximo ejemplo: Juego: Lost Planet 2, Calidad Baja, resolución: 1024×768, Procesador: Intel i5 2500 Tarjeta gráfica Cuadros por segundo (fps) AMD Radeon HD 5570 AMD Radeon HD 5450 En esta pequeña comparación podemos ver como el mismo juego con la misma configuración gráfica y equipo de cómputo (procesador y RAM) se comporta de manera distinto dependiendo del GPU. A pesar de que la configuración de video es casi la mínima probable, no es probable realizar que el juego Lost Planet 2 se vea de manera fluida usando un Radeon HD5450, pero si es probable jugarlo perfectamente con el Radeon HD5570 que es más costoso. Este mismo comportamiento lo encontramos en smartphones y tablets dependiendo del chip de video. Es difícil saber como se comportará un proyecto o determinado videojuego con alguna tarjeta gráfica, la mejor alternativa es revisar primero las reseñas en Internet antes de adquirir cualquier cosa. Algunos sitios muy recomendables son los próximos (en inglés): X-bit labs tech-report AnandTech Tom?s Hardware También puedes descubrir más reseñas por cada modelo de GPU en GPUReview Para tablets y smartphones te aconsejo (en inglés): AnandTech ? smartphones Aceleración de codecs de video Los codec?s de video son métodos en hardware o software que facultan comprimir y descomprimir videos digitales; por ejemplo:  mpeg-2, H.264, VC-1, VP8, etc. En la actualidad todos los videos que usamos día con día  se encuentran comprimidos en determinado formato y para visualizarlos se necesita que el archivo pase por un proceso de descompresión. En muchos casos este proceso puede ser sumamente demandante y es realizado en algúnas etapas. Las fichas gráficas nuevas cuentan con aceleración de codecs de video, esto faculta que determinadas o todas las etapas de la descompresión de ciertos codecs sean procesadas por el GPU. Logrando ver videos más fluidos y con mejor calidad de imagen, asimismo de reducir el consumo de energía e incrementar la duración de la batería en equipos móbiles. Solamente los GPUs más nuevos cuentan con aceleración completa de codecs de video. Las próximos tecnologías facultan tener aceleración de codecs de video: Equipos PC (escritorio, laptops y netbooks): Nvidia PureVideo ATI Unified Video Decoder (AVIVO) Clear Video de Intel Tecnologías como PureVideo o Unified Video Decoder han ido evolucionando, cada nueva versión proporciona masivos mejoras con respecto a la anterior. Algunos chips de video en tablets y smartphones  que soportan reproducción HD en 1080p son: Imagination Technologies PowerVR SGX ARM Mali 400 MP Qualcomm Adreno 220 Broadcom CrystalHD (también netbooks) La aceleración de codecs de video debe ser un agente significativo a beber en cuenta si deseas reproducir películas Blu-Ray  o cualquier otro formato de alta definición. Memoria de video La tarjeta con más memoria no siempre es la más rápida. Si el GPU tiene pocas capacidades, será escaso sobresaliente que tengamos varios gigabytes en memoria de video. La mayoría de los fabricantes ofrecen la porción y tipo de memoria conveniente para cada GPU. En el caso de la memoria compartida pasa algo similar, compartir masivos porciónes de memoria RAM del sistema no hará vuestra tarjeta mucho más rápida, es posible que la diferencia no sea notable. Si realmente necesitas de más aceleración, necesitarás otro GPU. Algunos GPUs soportan varios tipos de memoria dedicada y los podemos descubrir en todo una gama variada de productos. Los tipos de memoria que podemos descubrir en una tarjeta de video (y su fecha de fantasma en el mercado) son los siguientes: DDR2 (2003) DDR3 (2007) GDDR3 (2003) GDDR4 (2007) GDDR5 (2008) La letra , al comienzo de los últimos tres, se refiere a Graphics, y son tipos de memoria especialmente diseñados para fichas de video, los dos primeros son los tipos de memoria comerciales que ya conocemos. El desempeño de la memoria de video se puede estimar conociendo los próximos parametros: porción * tipo * velocidad * ancho de bus La velocidad se indica en Mhz y el ancho de bus en bits, puede ser de 64 a 512 bits dependiendo del GPU. Una memoria muy grande y rápida podría estar escasa por un bus de datos pequeño, formando un cuello de botella. Puertos de video Existen varios puertos de video que facultan conectar la tarjeta gráfica al monitor o a la TV. Aquí una lista de los más comunes: VGA (1987) DVI (1999) s-video (1987) HDMI (2003) HDMI tipo C (mini 2006) DisplayPort (2008) Mini Display Port (2008) Si deseas tener mayor conectividad entre tus herramientas deberás revisar que cuenten con los puertos de video adecuados. Algunas recomendaciones son: Asegurate que tu equipo cuente con en muelle HDMI o mini-HDMI (tablets y smartphones) si deseas conectarlo a la TV. Oh bien revisa que tu TV tenga las accesos VGA o DVI que se descubre comunmente en equipos PC. No todas las fichas de video soportan varios monitores. La mayoría  soporta 2, si requieres 3 o más deberás tener cuidado al escoger tu compra. Tarjetas Discretas Instalación Todas las fichas de video discretas se conectan físicamente al equipo mediante cierta ranura ya sea PCI, AGP, o PCI-Express, es significativo revisar el tipo de ranura de video que soporta vuestra tarjeta madre (motherboard) pues no todas son compatibles entre sí, y si no poseemos cuidado podríamos terminar comprando una tarjeta que no funciona con vuestro equipo. Los tipos de ranuras son las siguientes: Nombre Velocidad Fecha de aparició PCI133MB/s AGP 1x (1.0) 266MB/s AGP 2x (1.0) 533MB/s AGP 4x (2.0) 1066MB/s AGP 8x (3.0) 2133MB/s PCI-Express 8x (1.0) 2 GB/s PCI-Express 16x (1.0) 4 GB/s PCI-Express 8x (2.0) 4 GB/s PCI-Express 16x (2.0) 8 GB/s PCI-Express 8x (3.0) 8 GB/s PCI-Express 16x (3.0) 16 GB/s PCI-Express 16x Hoy en día prácticamente todas las fichas de video nuevas son PCI-Express. Las fichas de tipo PCI, PCI-Expres y AGP no son compatibles entre sí, pero versiones diferentes del mismo tipo si son compatibles, por ejemplo el PCI-Express 1.0 es compatible con el PCI-Express 2.0. Las fuentes de alimentación más comunes para PC son de 350-450 Watts pero para ciertas fichas de video podríamos solicitar fuentes de 600 o hasta 1000W!!. Si la fuente no soporta el consumo es muy probable que se queme. Las fichas de gran consumo generalmente necesitan de conectores especiales en la fuente como los siguientes: Si deseas conectar cuatro monitores, jugar uno de los juegos con los gráficos más impresionantes en muy alta definición, o simular la colisión de dos galaxias,  seguramente desees ubicar 2 o más fichas de video a tu PC. Para lograr esto hoy en día solo tienen lugar dos tecnologías disponibles: CrossFire de ATI ó Scalable Link Interface (SLI) de Nvidia Actualmente solo es probable conectar en paralelo fichas de video del mismo fabricante y necesitas de una tarjeta madre que soporte cierta de estas configuraciones. Consumo de Energía y Calentamiento El consumo de energía de una tarjeta es significativo tanto para la elección de la fuente como para el pago del servicio eléctrico. Aquí una lista de valores a beber en cuenta: Consumo Máximo de Energía. Ocurre cuando la tarjeta funciona a su máxima capacidad, generalmente entretanto ejecutamos aplicaciones de visualización en 3D. Consumo Mínimo de Energía. Ocurre cuando realizamos tareas cotidianas como navegar en internet, editar documentos, o simplemente cuando el equipo esta encendido pero no hay ninguna aplicacion en ejecución. TDP. (Thermal Design Power) Es un parametro que nos indica el calentamiento máximo de la tarjeta, vuestro gabinete deberá tener la disipación termica necesaria para que no se cálido demasiado. En común los gabinetes más masivos son mejor ventilados y proporcionan gran disipación, en todos ellos siempre es recomendable tener los ventiladores y disipadores adecuados. Cuando pensamos en el gasto de electricidad, para la granía de casos el consumo mínimo de energía será el agente más importante, pues la gran fracción del tiempo vuestro equipo labora a su capacidad mínima o se descubre en estado de aguarda (idle). Estos valores pueden variar mucho dependiendo de la tarjeta. Por ejemplo, de acuerdo al espacio X-bit labs poseemos el consumo de energía de las próximos tarjetas: Aunque estas dos fichas tienen un desempeño muy parecida su consumo de energía es muy diferente. Es probable apreciar como la 9600GT consume más de 20W apesar de no hacer tarea cierta (idle), entretanto que la GT240 proporciona un consumo de menos de 20W en el uso diario (idle y 2D), excepto en aplicaciones 3D. Es recomendable revisar sitios de Internet como X-bit labs donde se realizan reseñas detalladas del consumo energético. Al 28 de Febrero de 2011 esta es la lista de fichas y su consumo energético: ListaConfiguración en Equipos P APIsLas APIs o Interfaces de Programación de Aplicaciones, sirven a los desarrolladores de software para beber ventaja del poder de procesamiento de las GPUs. En algunos proyectos de software encontramos dentro de la documentación, el soporte de determinado API  (OpenGL o DirectX) como requisito minimo de sistema, esto implica que si vuestro GPU no soporta el API indicado y en una versión idéntico o gran simplemente no funcionará. En otros casos el soporte solo es recomendado, lo cual implica que el software funcionara más lento o determinadas alternativas estarán deshabilitadas. Por ejemplo, si tienes un software o videjuego que necesita DirectX 10, pero tu tarjeta solo soporta DirectX 9, es probable que la aplicación no corra, o no sea acelerada al 100% obteniendo un desempeño pobre. Los APIs utilizados actualmente son: Nombre Versión más reciente Descripción Direct3D Parte del API de Microsoft DirectX, enfocada a la aceleración de gráficos en 3D, utilizada principalmente en aplicaciones para Windows OpenGL API del grupo Khronos para aceleración 2D y 3D, utilizada en aplicaciones de diseño, animación, videojuegos, ...  para Windows, Linux, Mac, smartphones, tables y otros OpenCL API del grupo Khronos para aceleración de software común DirectX Video Acceleration Parte del API de Microsoft DirectX para la aceleración de codecs de video en Windows Video Acceleration API (VA-API) API de sistemas Unix para la aceleración de codecs de video VDPAUAPI de sistemas Unix para la aceleración de codecs de video, impulsado por Nvidia Driver Los driver o controladores son pequeños fundamentos de software que facultan que tu sistema operativo se comunique con determinado herramienta de hardware y pueda utilizarlo. Es indispensable un controlador por cada componente de hardware de tu equipo. En las fichas de video, los drivers juegan un papel muy significativo pues desempeñan las próximos funciones: Comunicación entre el Sistema Operativo y el Hardware Soporte de APIs (2D, 3D y codecs de video) Traducción y optimización en tiempo real del uso de APIs Administración de Memoria de Video Administración de energía En ocasiones los drivers pueden contener yerros que pueden manifestarse como: desempeño lento, calentamiento de la tarjeta, visualización corrupta y/o fundamentos no visibles, entre muchos otros... Algunos drivers defectuosos pueden inclusive provocar que tu tarjeta de video se queme. Los fabricantes de hardware frecuentemente lanzan nuevas version de drivers y es bueno estar al pendiendiente de las mejoras y yerros detectados en estos. Para equipos PC puedes descubrir drivers actualizados en: Nvidia ATI Technologies Reproducción de video La reproducción de video utilizando la aceleración de codecs puede reducir dramaticamente el uso del procesador de tu computadora con esto puedes conseguir los próximos beneficios: reducir el consumo de energia, crecer la duración de la bateria, mejorar la calidad del video y liberar recursos para otras aplicaciones. Aprovechar la aceleración de codecs de video todavía es una tarea complicada, en algunos casos, necesitas una mezcla propia de: sistema operativo, driver, reproductor de video y archivo de video. Esperemos que esta situación mejore en el futuro, conforme esta tecnología sea más común. ¿Como obtener la aceleración de codecs? Asegurate que tu hardware soporte aceleración de codecs: Nvidia PureVideo AMD ATI UVD Intel Clear Video HD Verifica que tu driver de video soporte aceleracion de codecs: En sistemas Windows: Practicamente todos, excepto determinadas versiones con errores, puedes usar el próximo proyecto para verficiar el soporte de codecs: DXVA Checker En sistema Unix: Para Nvidia requieres el driver propietario nvidia y la libreria vdpau-video. Para ATI requieres el driver propietario catalyst (todavia tiene problemas). Para Intel el driver xf86-video-intel debe estar correctamente instalado. Puedes comprobar el soporte de codecs usando el comando vainfo en la consola. Alcanza un proyecto de reproducción de video que soporte aceleración de codecs: En sistemas Windows: Conozco dos que son gratuitos: VideoLAN media player Media Player Classic Home Cinema En sistemas Unix: practicamente todos. Configura correctamente tu proyecto de reproducción para activar el soporte: En sistemas Windows, (para los proyectos anteriores): VideoLAN media player ? GPU Decoding Media Player Classic Home Cinema ? DXVA Support En sistemas Unix: dependiendo del programa, deberás seleccionar el módulo de salida va-api (aunque vdpau es preferible para sistemas con Nvidia) VideoLAN media player ? VAAPI . Si aún no logras conseguir la aceleración, revisa que la mezcla codec y resolución de tu archivo de video sean soportados por el driver usando VXVAChecker (windows) o vainfo (Unix). Espero esta guía te haya sido de utilidad, y como siempre  tus comentarios, mejoras o correcciones son bienvenidas