
Últimamente estamos hablando bastante de la aceleración por hardware o por GPU. Que si Internet Explorer 9 tendrá aceleración por GPU, que si Firefox usará aceleración por GPU, VLC decodifica por medio de la GPU... Pero, ¿qué es eso de la aceleración por GPU?
Realmente, esto no es algo nuevo. La aceleración por hardware se usa desde hace mucho en aplicaciones con una gran carga de gráficos, como por ejemplo, programas CAD, de diseño 3D o en videojuegos. Lo que pasa es que ahora otros programas que en un principio no trabajan tanto con gráficos, como los navegadores o reproductores de vídeo, también se están aprovechando de esta característica.
Antes de que me líes más. ¿Qué es la GPU?
Por sus siglas, la GPU es la Graphics Processing Unit, o unidad de procesamiento de gráficos. Es un chip que está en la tarjeta gráfica del ordenador, podéis ver uno en la imagen de la derecha. Normalmente, llevan un ventilador o disipador encima para evitar que se sobrecaliente.
¿Qué ventajas aporta la aceleración por GPU?
La CPU es una unidad de procesamiento general, está preparada para operaciones matemáticas y lógicas para que con ella podamos realizar casi cualquier tarea a una velocidad más que suficiente. El problema viene cuando nos metemos en programas con una carga gráfica muy grande, como pueden ser videojuegos o programas de diseño 3D. Estos programas están continuamente procesando formas y texturas, y hacerlo por medio de la CPU no suele ser muy buena idea, ya que no está específicamente diseñada para estas tareas. Para eso está la GPU, que aporta varias ventajas.
La primera y más evidente: que tenemos un procesador más. Además, este procesador está específicamente diseñado para trabajar con gráficos, con funciones específicas y una arquitectura muy basada en el procesamiento en paralelo. En pocas palabras, con la aceleración por GPU lo que hacemos es quitar trabajo a la CPU y dárselo a la GPU, que lo hará más rápido y mejor.
Hay casos de programas que usan aceleración por GPU, pero sin embargo no trabajan con formas, como por ejemplo los reproductores de vídeo. Entonces, ¿para qué usan la GPU? Resulta que algunas tarjetas gráficas soportan la decodificación por hardware. Es decir, dan la posibilidad de decodificar un vídeo por medio de un chip integrado, que lo hace más rápido y quitando carga a la CPU.
¿Y funciona de verdad?
Sí, y lo hace bastante bien. Vamos a ver algún ejemplo aquí. El primero, el que nos enseñó Ryan Gavin durante la entrevista que le hicimos. Vamos a comparar el rendimiento de IE 9 con aceleración GPU y el de otro navegador sin aceleración GPU, como por ejemplo Chrome:
Realmente impresionante, ¿verdad? Mientras que sin GPU Chrome apenas podía con 36 imágenes, con la aceleración GPU hemos podido ver cómo IE 9 manejaba hasta 256 imágenes con bastante fluidez.
Otras aplicaciones también usan la aceleración por GPU. Desde la versión CS4, Photoshop y el resto de la suite de Adobe aprovecha la potencia de la tarjeta gráfica para aumentar el rendimiento de la aplicación, sobretodo cuando trabaja con gráficos 3D. Google Earth también tiene aceleración por GPU, y, en general, todos los programas que trabajen con 3D.
También hay programas que aprovechan la capacidad de decodificación por hardware de algunas tarjetas. La última versión de VLC o el reproductor Flash, por ejemplo, son capaces de decodificar vídeo H.264 por medio de la tarjeta gráfica, mejorando mucho el rendimiento de la reproducción.
Todo esto que dices es muy bonito, pero…
Sí, claro que hay inconvenientes, pero no muchos comparados con las ventajas en rendimiento. La mayoría de los ordenadores vienen con tarjetas gráficas integradas y lo suficientemente potentes como para soportar bien la aceleración por GPU. Los usuarios apenas tendremos que hacer nada para poder usar estas características, y de hecho puede que las estés usando en bastantes programas sin darte apenas cuenta. Siempre que veas un programa con alguna opción para configurar DirectX u OpenGL está casi seguro usando la GPU (Direct3D, dentro de DirectX, y OpenGL son librerías para trabajar con gráficos en la GPU).
En resumen, la aceleración GPU es algo muy sencillo. Se trata de derivar el trabajo con gráficos a quien está especializado en ello: a la tarjeta gráfica. De esta forma, mejoramos el rendimiento por dos vías: quitando carga a la CPU y usando los procedimientos de la tarjeta gráfica, que son más rápidos y eficientes.
Hasta aquí este artículo, espero que os haya aclarado las ideas y haya servido de ayuda, y si tenéis alguna pregunta, no dudéis en exponerla aquí para que os la intentemos resolver.
Imagen | Chip GPU



Comentarios
Muchísimas gracias! interesante totalmente, aunque sea informático siempre estas cositas se escapan (aclarar que soy de la rama de programación jajaja), ¿se supone que chrome lo implementará a corto plazo?
3 Comentario moderado
10En marzo ya dijeron que sí, que se está desarrollando bajo un proyecto llamado ANGLE (Almost Native Graphics Layer Engine). lo que no dicen cuándo estará listo:
Soporte para aceleración GPU en Chrome
interesante
Procesadores con GPU integrada hace tiempo que se venden, un ejemplo:
http://www.pccomponentes.com/INTEL_CORE_I3_550_3_2GHZ_BOX_SOCKET_1156.html
mmm, pregunto lo mismo...
"En tarjetas gráficas potentes, llevan un ventilador o disipador encima para evitar que se sobrecaliente."
Hombre, todas llevan disipador, aunque sean una mierdecilla de grafica integrada llevan disipador jajaja
Las modernas sí, pero las tarjetas gráficas antiguas no siempre. Por lo menos yo si he visto tarjetas sin disipador ni ventilador.
Pues el mítico TNT2 llevaba un buen disipador y el ventilador que siempre se estropeaba.
Y cuando se estropeaba empezaba hacer un ruido realmente molesto. Ya cuando se moría y no hacía ruido, windows se colgaba que daba gusto por el calor de la GPU. Era una fiesta de pantallas azules con información confusa.
9 Comentario moderado
10Tanta gente diciendo que no, va a ser entonces que me habré confundido con alguna otra cosa. Cambiado queda ;)
Hombre ya, pero yo me refiero a graficas modernas que son a las que se refiere el post(creo yo vamos.)
Sin disipador claro que existen, las primeras ATI Rage son un ejemplo, pero estas graficas no podrian ayudar en nada a la CPU para procesar graficos modernos.
Yo tengo por ahi una Voodoo de 7mb (creo) que no usa ni ventilador ni disipador ni nada, va a pelo.
A #12, Las voodoo!! :__)))
Yo tuve una 3DFX voodoo 1 de 4mb que no llevaba, pero tiempo después me compré una voodoo banshee y esa si lleva un disipador sobre la gpu. Y se calentaba lo suyo...
Existieron GPU's sin ningún tipo de disipación, por ejemplo: http://www.pacificgeek.com/productimages/xl/CL-SIS6326AGP-8MB-2.jpg
La SiS 6326, la primera gráfica que decodificaba DVD por hardware.
La mítica Ati Rage no llevava ningun tipo de disipacion y para los que lo recuerden, la targeta de aceleración creative VOODOO que era complementaria a la GPU y que ya movia unos cuantos polígonos en su epoca, tampoco ;)
Y era ayer que usábamos vodoo de 4MB y decíamos que era la ostia...
¡Tienes razón, el quake 1 con GPU era la ostia! ¡Se veian luces y algo parecido a antialiasing!
Ah, la Monster 3D. Creo que fui el primero en toda Sevilla en tener una.
El GL-Quake era la caña
-- editado por última vez a las 17:42
Dios cuando la conecté a la tarjeta de video (si no recuerdo mal con una manguera tipo IDE) y arranque el fifa 98 parecia que la tecnologia habia llegado a lo mas alto !!! que tiempos...
Creo que la aceleración por hardware es algo similar si no lo mismo que el usar la GPU... Pues ya que vienen al caso, en Ubuntu he tenido que desactivar la aceleración por hardware de Flash para que no se me quedará frito el navegador al maximizar.. osea que quizá no esté tan pulido el tema como parece.
42 Comentario moderado
10Car...jo!
Estos son los artículos que da gusto leer, artículos donde uno puede aprender mas.
yo que cuento con un RAdeon 9200SE y XP, ¿puedo usar estas caracteristicas?
Si lo usarás, pero con esa gráfica lo más que acelerarás será MPEG2. No hará nada -o muy poco- contra un divx o un MKV.
Pero dá igual, mientras se vea la pelicula (o el flash), que más dá quien lo mueva
En Mac OS X, Adobe no ha implementado Flash con aceleración por hardware usando la tarjeta gráfica.
Y encima que Mac OS 10.6 tiene acceso al standar OpenCL...
Si lo ha hecho, en flash 10.1 beta - creo que el nombre en clave era Gaia - y funciona bien, al menos con mi nvidia 9400, aunque peor que en windows. En windows la CPU sube menos
http://es.wikipedia.org/wiki/OpenCL
http://es.wikipedia.org/wiki/OpenCL
Interesante, los de microsoft hacen cosas mejores k los de Google esperemos k no sea una novedad y se trasforme en algo normal.... xDD
43 Comentario moderado
10Una pequeña nota: no tiene por qué ser exclusivamente trabajo gráfico. Las GPU ya llevan tiempo preparadas para ejecutar grandes cantidades de información 'lineal' que no necesariamente tiene que ser gráfica (dibujos, por ejemplo), sino que también pueden ser datos numéricos como tal (al fin y al cabo todo termina siendo un dato numérico, pero bueno) :)
El proyecto BOINC que es la evolución de SETI@Home en sus últimas versiones utiliza la GPU de las gráficas que lo permitan para sus cálculos y procesos.
44 Comentario moderado
10muy buen articulo guillermo felicidades!
Ahora a ver si hace otro de como se usan las GPU para crakear mas rapido wifi. xDDDD
45 Comentario moderado
10oye una pregunta, esto tambien beneficiaria, bno en mi caso seria d gran ayuda, a los programas para hacer renders como 3d studio, artlantis, etc...????
Muy bien explicado contra cualquier duda. Gracias!
Muy Buen articulo, la verdad es que tenia una gran laguna en esto.
Otro navegador que incluye aceleración GPU es Opera, y nadie lo menciona.
Por mucha GPU que uses, el cuello de botella de esta generación de HW son los buses de memoria.
46 Comentario moderado
10Jummm y yo me pregunto... si tengo el internet explorer con muchas pestañas con galerias fotograficas y luego me pongo a jugar la tarjeta perderá potencia o como va eso? ninuinuinuinu
La tarjeta no pierde potencia en ningún momento, lo que si pasa es que si la tienes haciendo muchas tareas a la vez, no van todas tan rápidas ya que la tarjeta tiene que repartir la potencia.
47 Comentario moderado
10Tengo una duda que agradecería si me alcaran Si me quiero comprar un PC con Core i5 (2,26ghz) y con grafica integrada sería mejor uno con core i3 (2,13ghz) y con una nvidia de 1gb. Esque tengo esa duda, y no se si lo de la aceleración y la derivacion a las tarjetas graficas sera muy determinante.
Gracias de Antemano.
49 Comentario moderado
10Muchas gracias por la respuesta. La tarjeta grafica del sistema con Core i3 es una nVIDIA GeForce GT 330M con 1gb gddr3 dedicado. Mientras que el sistema con Core i5 tiene la tarjeta grafica intel HD. Varias personas me dicen que es mejor el Core i3 con la tarjeta dedicada pero yo no se mucho de esto, por eso les pido la opinión. Muchas gracias denuevo.
Buenas... Soy usuario de Mac, me he comprado un MacBook de última generación.
El problema es que con vídeos flash se calienta horrores. Sólo con ese tipo de vídeos. Y no he instalado, aún, nada de flash. Con lo que lleva el Safari5 me sobra.
Mi duda es... ¿Si instalo un navegador que oporte aceleración por GPU notaré menos temperatura? ¿Si instalo la última versión del Adobe flash player, notaré mejora en temperaturas?
Muchas gracias. No entiendo cómo mi Macbook se calienta TANTO con este tipo de contenidos, cuando con cualquier PC antiguo y de gama baja lo reporduce sin problemas. ¿Problema de software (OS) o de Hardware (Mac)?
52 Comentario moderado
10Escribir un comentario
Para hacer un comentario es necesario que te identifiques: ENTRA o conéctate con FacebookConnect