LA CARRERA DE LOS BITS Y MEGAHERCIOS. 7 ª PARTE (III).

Volviendo la vista adelante . La Wii.
3 ª Parte
Por David Senabre Albujer. Junio de 2008.


 

La fase de transformación. Los shaders.

A lo largo de estos artículos ya he hablado bastante sobre el proceso de formación de una escena 3D, a un nivel muy básico, pero suficiente para que todos aquellos que desconocían lo que ocurría pudieran al menos tener una idea de lo que significa y lo que sucede dentro del hardware. Pero tal vez no he dedicado el debido espacio para dar una visión general, y me gustaría hacerlo ahora, y que sirva además a quienes no recuerdan o no entendieron algo.

Tal vez repitiendo algunas cosas, para construir una escena, en primer lugar hay que leer el código ejecutable del soporte de almacenamiento del juego (DVD, CD, disco duro,...). Las instrucciones llegan a la CPU, donde se van ejecutando. Cuando llega el momento, una serie de instrucciones coordinan la transferencia del módelo matemático que define el entorno tridimensional, también almacenado en el soporte de almacenamiento, como datos. Esta representación está compuesta, entre otros, por vértices, que forman figuras geométricas. La CPU, en función del estado de juego, decidirá cómo debe mostrarse la escena, desde qué punto de vista, etc. Los vértices, que componen los polígonos, que a su vez forman los objetos en la pantalla, junto a las texturas necesarias, información de iluminación, propiedades de los materiales, entre otros, van cargandose en la memoria de vídeo de la máquina, que puede estar compartida con la CPU (como en Xbox360 y Wii), o estar a disposición casi exclusiva de la GPU (como en Playstation 3 y Dreamcast). A esta primera fase la llamamos fase de aplicación, porque es donde se gestiona el motor del juego, controles, colisiones, la inteligencia artificial,...

Ahora llega la fase de transformación, cuando, entre otras cosas, los polígonos son movidos, posicionados y procesados. A continuación muestro un diagrama muy general de la estructura de una GPU clásica, como podría ser la de Xbox, el NV2X. Hay que entender todo el proceso gráfico como un flujo de datos que va pasando de etapa en etapa. Cada etapa se ocupa de una parte del trabajo, y al final de esta cadena, se obtiene el resultado final.

Para empezar, los datos llegan a la GPU a través del bus de sistema. El recuadro rojo representa la circuitería que se comunica con éste, así como la encargada de recibir la lista de vértices, y almacenarlos en la memoria de vídeo. Es algo así como la puerta de entrada al chip gráfico. Desde memoria, los vértices van pasando por las únidades de vertex shaders, que calculan sus posiciones en el mundo tridimensional, su proyección desde el punto de vista de la cámara, y a partir de ahí, la posición que ocupan en la pantalla. A su vez, les aplican propiedades materiales, como son el color y la iluminación. A medida que una de estás unidades termina con un vértice y queda libre, otro nuevo puede entrar. Existen varias unidades de vertex shaders, y cada una de ellas trabaja sobre un vértice distinto en cada momento, y por tanto, cuantas más unidades de este tipo disponga la GPU, mejor que mejor, pues podrá así trabajar sobre un mayor número de vértices en paralelo, aumentándo el rendimiento máximo en cálculo de geometrías. En realidad se trata de pequeños procesadores, muy eficientes en coma flotante, capaces de realizar acciones programables sobre vértices, y prepararlos para pasar a la siguiente fase, donde se ensamblan para formar y proyectar triángulos, ya vistos en 2D. De esta tarea se suele encargar lo que a veces se denomina "setup engine". La fase de transformación acaba aquí. Hemos pasado de un modelo tridimensional a una serie de triangulos en 2D, que ya pueden ser rasterizados, o lo que es lo mismo, convertidos a un mapa de bits, una representación plana de píxeles. Y todo esto sin apenas intervención por parte de la CPU.

Pero claro, cada uno de estos futuros píxeles no salen de la nada, ni aparecen por ciencia infusa, sino que debe ser generado. Y no, tampoco es generado por ciencia infusa :-). En este punto, lo único que tenemos son unos triángulos compuestos por vértices, flotando en la negrura del espacio, pues las superficies no existen todavía. Entre los vértices hay sólo vacio. Para remediar esto existe la fase de renderizado. El resultado, como veremos ahora mismo, es una imagen final en nuestra pantalla.

La fase de renderizado. Poniendo los píxeles en su sitio.

Pipeline de píxeles, que en ingles suena mejor, es como se suele denominar a una serie de etapas dentro del chip gráfico, encargadas de trabajar, como su nombre indica, sobre píxeles. Tanto Gamecube, como Xbox, y seguramente Wii, disponen de cuatro de estos pipelines. Cada uno es capaz de producir un píxel por ciclo de reloj. Ahora bien, es posible que las operaciones ha realizar sobre un determinado píxel sean suficientemente complejas, como para exceder la capacidad de trabajo que el pipeline puede hacer en una sola pasada, y por tanto se necesitarán ciclos adicionales para completarlo.

En las GPUs, los pipelines de píxeles están compuestos por unidades de pixel shaders, TMU y ROPs (ver en las imagenes de arriba y abajo). Las unidades de píxel shaders, análogamente a las de vertex, ejecutan funciones programables sobre los píxeles, que permiten actuar sobre su color y comportamiento, lo que se traduce en una elevada flexibilidad, que permite aplicar una gran variedad de efectos con alta eficiencia. Por regla general suelen ser aún más potentes en coma flotante que sus hermanos.

Cada unidad de píxel shader dispone de una o varias unidades de texturización (TMU, texture mapping unit). Estas TMU aplican las texturas a cada píxel de las superficies de los triangulos, y son capaces de colocar un píxel de textura (llamado téxel) cada ciclo de reloj. La Gamecube, y probablemente Wii, disponen de una sola TMU por pipeline, y por lo tanto, si hay que aplicar varias texturas sobre un píxel, éste tendrá que esperar ciclos de reloj adicionales. En cambio, la Xbox dispone de dos TMU por pipeline, y sí se requieren dos texturas para un determinado píxel, no habrá penalización. Cada una de las TMU se encargará de una de las texturas, permitiendo por tanto un aumento considerable de la tasa de relleno en escenas que empleen multitexturización (lo ampliamente habitual).

Un atributo clásico de un chip gráfico es su tasa de relleno (fill rate), que se refiere a los píxeles que es capaz de generar y mostrar en pantalla cada segundo. Este valor depende del número de ROPs. A veces la tasa de relleno se da en texels, lo que representa el número de píxels de textura colocados por segundo. Luego aclararé las diferencias.

Los ROPs (Raster OPeration unit) son nuestra última parada. Los píxeles que salen de las unidades de shaders no están todavía listos para mostrarse en pantalla. Entre las tareas más significativas que realizan los ROPs están la prueba de profundidad, que usando el buffer-Z descarta todos aquellos píxeles invisibles a la cámara, ocultos tras cualquier otro, o demasiado alejados, por ejemplo. También se ocupa de la transparencia, así como el blending, o combinación final del color. Además toma medidas para ahorrar ancho de banda con los buffers. El ROP era prácticamente el único componente de las primeras tarjetas gráficas, que simplemente apoyaban a la CPU en el renderizado. No había shaders, ni nada parecido. El procesador tenía que realizar la transformación, y calcular por software todos los efectos de iluminación. Los primeros chips gráficos únicamente se encargaban de rasterizar, texturizar y pasar los píxeles al ROP. Aún así, aceleraban bastante la fluidez de los juegos de la época. Inicialmente sólo se disponía de un pipeline, una TMU y un ROP, y poco a poco fueron creciendo en número, y trabajando en paralelo. En una GPU moderna, los ROP son el final del proceso, y dan la forma final a cada píxel, aunque siguen encargados de efectos tan importantes como el antialiasing (FSAA o MSAA) o el filtrado.

Del ROP, los píxeles ya definitivos van a parar finalmente al buffer de vídeo, que una vez contiene el fotograma completo, es volcado en pantalla. Y todo este pollo llega a ocurrir 60 veces por segundo, o más. No lo parecía, eh?

Así que en resumen, la fase de aplicación es donde la CPU se encarga de manejar el sistema de juego e ir mandando a la GPU los vértices, texturas y demás información. La fase de geometría, dominada por las unidades de vertex shader, es donde se calculan las posiciones de los futuros polígonos, habitualmente compuestos por triángulos de tres vértices, y la iluminación de éstos últimos. Luego se ensamblan y se rasterizan, para rellenar su superficie aún hueca, con píxeles, durante la fase de renderizado, donde los píxel shaders manípulan las propiedades de los susodichos píxels, y combinan su color, las TMU aplican las texturas, y los ROPs los generan en función del procesamiento previo, y ciertas consideraciones, además de aplicar efectos de antialiasing. Los primeros chips gráficos sólo hacían la fase de renderizado, y el resto era software ejecutado en la CPU. A las primeras GPUs se las llamó así porqué ya se ocupaban de la fase de geometría, y por tanto abarcaban casi todas las etapas del proceso gráfico, pero no usaban shaders programables, sino unidades fijas, llamadas T&L (Transform and Lightining) que permitían realizar una serie de funciones preestablecidas. La primera GPU se montó en la tarjeta gráfica de Nvidia, GeForce 256, allá por el 1997. La siguiente generación de tarjetas gráficas ya incorporaba unidades de shaders, que podían ser programados para ampliar las posibilidades que ofrecía el ya por entonces potente motor T&L. La última generación de GPUs, así como la instalada en la Xbox 360, están basadas en una nueva arquitectura de shaders unificados, donde no se distingue entre unidades de vertex y de pixels, sino que todas son idénticas, y se pueden encargar de cualquiera de las dos tareas, pudiendo balancear la carga de trabajo mucho más eficientemente.

Los TEV

¡Ostia, menudo rollo! Pues sí, pero ahora ya podemos entender mucho mejor algunas cosas sobre Wii, que por cierto, no usa ningún tipo de shader. Y estaréis pensando, para qué coño os cuento todo lo anterior en un artículo de Wii, si no tiene nada que ver. Pero insisto, era necesario. En realidad, y hasta donde mis conocimientos llegan, las GPUs de Gamecube y Wii, el Flipper y el Hollywood respectivamente, disponen de un motor de transformación e iluminación, de funciones fijas, en sustitución de los vertex shaders, y una cosa muy extraña y misteriosa llamada TEV, en sustitución de los píxel shaders. Más o menos. Aunque las especificaciones de estos chips no son públicas, están portegidas por acuerdos de confidencialidad, y no se puede tener la certeza total sobre ninguna afirmación.

Si se entiende como funciona una GPU "normal", es decir, que emplee pixel y vertex shaders, se entiende, al menos a groso modo, como funciona la GPU de Wii. Las tres fases de ejecución de un videojuego 3D permanecen igual, es decir, fase de aplicación, fase de transformación, y fase de renderizado. Y como cualquier GPU, la de Wii realiza la transformación y el renderizado, liberando a la CPU de estas tareas. La diferencia está en los circuitos que realizan estas funciones, y cómo lo hacen. Se puede ver como una GPU de primera generación, como la tarjeta gráfica Geforce 256, que aún no disponían de shaders. En estas, las funciones que se realizaban eran fijas, y estaban implementadas en hardware. Es algo así como tener un catalogo de acciones posibles. En Wii, seguramente haya un motor de transformación e iluminación similar, encargado de la fase de transformación. No obstante, el TEV de Gamecube y Wii parece estar bajo control del programador, permitiendo realizar acciones definidas por éste, sin tener que limitarse a un conjunto preestablecido. Ocupan el lugar de los pixel shaders en una GPU "normal", y por tanto se encargan de la fase de renderizado. Realmente, los TEV, que significa Texture EnViroment unit, son combinadores de color, que, al igual que los pixel shaders, se ocupan de manipular el color de los píxels, para reflejar un cierto comportamiento, material, efecto,... y además aplicar las texturas. Yo, para entenderlo, los veo de forma equivalente a una unidad de píxel shader con una TMU. Se sabe que en Gamecube, y no hay evidencia de que haya cambiado en Wii, hay 4 pipelines de píxels, es decir, que hay hardware para trabajar sobre 4 píxels al mismo tiempo, como sucede en Xbox. Por lo tanto, me la imagino como una GPU de 4 unidades de píxel shader, 4 TMU y 4 ROPs, y así se puede aplicar casi todo lo aprendido.

No obstante, hay que recordar que NO son lo mismo, es solo un truco para recordarlo y entenderlo.

TEV y unidad de pixel shader se podrían considerar equivalente. Ambos son procesadores de color, encargados de modificar y combinar el color de los píxeles para conseguir su apariencia y comportamiento final. Para ello, se echa mano de operaciones matemáticas, que son realizadas por unidades vectoriales de alto rendimiento. Y los pixel shaders son simplemente un medio de comunicarse y controlar este proceso. Los TEV, que no permiten ser programados de la misma forma, parecen estar algo más limitados, aunque por la forma en la que trabajan, tienen también sus ventajas. La única que conozco con relativa certeza es la forma en la que se van realizando las lecturas de texturas.

En una unidad de píxel shader, hay que leer las texturas necesarias antes de empezar a aplicar los efectos de shader que las requieran, mientras que en el TEV, las operaciones sobre los píxels se pueden intercalar con lecturas de texturas, lo que en determinadas ocasiones puede permitir hacer cosas en una única pasada, que en una unidad de shader requeriría al menos de dos. No obstante, los shaders suelen ofrecer un mayor abanico de posibilidades, según muchos, y yo, que no soy ningún experto en la materia, os transmito lo que he podido averiguar.

En conclusión, el TEV no hace las cosas del mismo modo que una unidad de píxel shader. Hay cosas que uno puede hacer que en el otro no es posible, o que requiere más pasadas. Yo soy de los que piensa que son equivalentes, y que simplemente, por las diferencias en su construcción, hay cosas que uno hace más fácilmente que otro, como casi siempre en ingeniería. Gamecube y Wii han demostrado ser capaces de rivalizar plenamente con juegos que corren en arquitecturas de shaders, tanto en rendimiento como en calidad y posibilidades de efectos, como son la Xbox, y tarjetas gráficas de PC de su nivel. Sin embargo, se hubiera agradecido que fuera un diseño más estándar, para facilitar la vida a los programadores, pero ya sabemos que Nintendo no tiene ningún interes en que sus juegos sean "porteados" a PC o a otras consolas, así que, como suele ocurrir, el hardware de Nintendo tiene sus peculiaridades :-)

 

La arquitectura de shaders unificados

No quiero cerrar estos apartados sin antes comentar que las GPUs de última generación no están construídas sobre la misma arquitectura que he explicado. Aunque todo lo aprendido nos permite entenderlo con facilidad, pues siguen existiendo las tres fases principales de aplicación, transformación y renderizado, la diferencia fundamental es que ahora las unidades de shaders pueden trabajar tanto sobre píxels como sobre vértices, y por tanto ya no hay distinción a nivel hardware. Xenos, la GPU de Xbox 360, pionera en este sentido, dispone de 48 unidades de shaders, repartidas en 3 grupos de 16 shaders que se pueden asignar a píxels o a vértices de forma dinámica, es decir, durante la ejecución del juego. Por tanto, se comparte un mismo hardware para las fases de transformación y renderizado. La ventaja suprema es que ahora es mucho más fácil mantener los recursos de la GPU ocupados, porque se puede adaptar a las necesidades de la escena.

 

Esto ya lo traté en la 5ª parte de los artículos, pero no está de más recordarlo, sobretodo porque he explicado el funcionamiento de una GPU valiendome de una arquitectura no-unificada, refiriendome a ella como la de una GPU moderna. Moderna, sí, pues aún se venden tarjetas gráficas de este tipo, pero no las de la cresta de la ola. :-) Quien busque el máximo rendimiento, y la mejor calidad gráfica, deberá optar por una NVIDIA Geforce 8800 GTX o Ultra, o si su bolsillo no lo permite, una 8800 GT o GTS, o la alternativa de ATI/AMD Radeon HD3850 o HD3870. O tal vez esperar a que se despliegue completamente la nueva serie 9000 de NVIDIA o el chip RV770 de ATI, que ya formarán parte de la segunda generación de GPUs de shaders unificados. Todo esto va demasiado rápido,... pero bueno.

 

Rendimiento final de una GPU

Incluso dentro de las GPU que usan una arquitectura de shaders, no todas las unidades de shaders son igual de potentes. Las hay que lo son más, y que lo son menos, igual que sucede con una CPU, que cada una ofrece rendimientos distintos, aunque todas se llamen CPU.

Para hacerse una idea, en un primer acercamiento, de la potencia relativa de una GPU, se pueden sumar el número de unidades de shader, y multiplicarlo por la frecuencia de reloj del core de la GPU. Eso da una idea del rendimiento de cálculo. A ser posible, la comparación hay que hacerla entre dos GPUs no-unificadas, o entre dos que sí lo sean, pues las unidades de shaders unificados, a las que se suele llamar Stream Proccessor, tienen una arquitectura muy diferente, y por regla general son bastante menos potentes, aunque suele haber un número muy superior de ellas. No se debe olvidar después, echar un vistazo al número de unidades de texturización de la GPU, que puede dar la vuelta a la tortilla en muchas ocasiones.

Por ejemplo, tomemos, para ilustrar, el caso de la Geforce 8800 GT y la Radeon HD3870 (las cifras en MHz pueden variar un poco, debido a diversas variantes existentes, tomadlo pues como aproximado, pero bastante fiel). La tarjeta de ATI tiene un número de Stream Proccessors (shaders) muy superior (320 vs 112), y el core funciona a mayor velocidad (777MHz vs 600MHz) así como la memoria (1126MHz vs 900MHz). Ambas tienen el mismo ancho de bus para la memoria, 256 bits, luego la ATI gana en ancho de banda al emplear un reloj más alto. Además las dos tienen 16 ROPs. Podría parecer que es una tarjeta claramente superior, pero al suponer eso, nos equivocaríamos. Bastaría con mirar gráficos de rendimientos reales en juegos, para observar claramente una pequeña diferencia a favor de la Geforce. Vamos a ver porqué.

Para empezar, al contrario que su competidora, la tarjeta de NVIDIA usa una frecuencia de reloj distinta para el core que para los shaders. Aunque el core vaya a 600 MHz, los shaders lo hacen a 1500 MHz, luego prácticamente doblan la velocidad de los shaders de ATI.

Pero eso de por sí no vale, como cualquier conocedor de la materia sabrá. Otro factor muy importante es el ancho de banda de la memoria de vídeo. Se calcula como siempre, multiplicando el ancho del bus de la memoria por la frecuencia de reloj de dicha memoria. Esto ya acorta la diferencia en número de shaders, pues cada shader de la Geforce 8800 acaba haciendo el doble de trabajo que cada uno de los de la Radeon HD3870. Aún así, ésta última sigue ganando en número, pues triplica el número de shaders, aunque cada uno rinda la mitad. Esto indica que no es suficiente argumento para justificar la superioridad de la Geforce. Yo tampoco soy un gran entendido, pero creo que aquí hay una de las diferencias que matan a la arquitectura de ATI. La Radeon HD3870 dispone de 16 unidades de texturización. La Geforce 8800 GT, de 56. La capacidad de aplicar texturas parece ser el cuello de botella que impide a la Radeon aplastar a su competidora con la potencia de sus shaders. La Geforce es un ejemplo de arquitectura bien compensada, muy eficiente, y ha sido una de las más exitosas en la historia de NVIDIA, donde la serie 8800 no ha tenido rival en su sector del mercado, al menos en rendimiento bruto (Otros ejemplos de productos hechos como Dios manda, que no han tenido rival en el momento de su aparición, han sido los actuales procesadores Core 2 Duo, que siguen dominando el mercado, o en su día los Athlon de AMD). El tema del precio es otra historia, aunque en mi opinión las Geforce 8800 siguen ganando si consideramos su potencia/coste, o en otras palabras, su calidad/precio.

Todo esto se puede averiguar por medio de reviews, o las especificaciones de las tarjetas.

Nota: antes hablé de tasa de relleno en píxels por segundo, y en texels por segundo. La diferencia es que el primer valor representa el número de píxels que puede renderizar el sistema gráfico en cada segundo, mientras que el otro valor hacer referencia al número de "píxels de textura". La diferencia es que sobre lo que nosotros vemos en la escana como un único píxel, en realidad ha podido ser fruto de un proceso de multitexturización, o en otras palabras, el resultado de la aplicación de varias capas de texturas. Cuando la tasa de relleno en texels es superior a la dada en píxels, esto NO determina el número máximo de píxels que puede generar, sino de cúantas veces es capaz el sistema de superponer texturas. Ejemplo: si el valor en texels por segundo es el doble que el de píxels por segundo, entonces es éste último valor el máximo posible, y lo que ocurre es que se puede aplicar sobre cada píxels dos texturas (texel).

 

Vamos a ir acabando!

Lo que he explicado es correcto, al menos a mi humilde nivel, pero para quien no lo sepa, quiero dejar claro que un pixel shader y un vertex shader son programas que se ejecutan en las unidades de pixel shaders y vertex shaders, respectivamente. Si no dices "unidad de...", realmente te estás refieriendo al programa que corre sobre el circuito electrónico, y no al circuito en sí. Una tonteria, pero sobretodo a través de la publicidad, se dicen muchos disparates, como por ejemplo cuando se anuncia una tarjeta gráfica diciendo que tiene 24 pixel shaders... un poco dificil. Realmente quiere decir que tiene 24 unidades de píxel shader. No sé si ha quedado claro. Sino, pues haced como si no hubierais leido nunca estas cosas feas y malas que acabo de escribir. ;-)

Sigo pensando que es un artículo muy extraño, porque he dedicado bastante extensión a hablar de tarjetas gráficas y shaders unificados, y no tanto de Wii, y ha sido una apuesta dificil. Pero el conocer el mundo de las GPUs, a la hora de entender el lugar que ocupa Wii, y comprender, más o menos, cómo funciona su procesador gráfico, me ha parecido la mejor manera de aprender.

Para darle un poco de variedad, y hablar de un tema completamente distinto, y no poco interesante, veamos el tamaño de los chips, tanto de Wii, como de sus rivales.

Tamaño (en mm cuadrados), y entre paréntesis, el número de veces en que superan en tamaño PS3 y XBox360 a Wii. Todos ellos en tecnología de 90 nm.

  CPU GPU
Playstation 3 228 / 235 (x 12) 258 (x1,5)
Xbox 360 168 (x 9) 170 + 70 (x1,4)
Wii 19 72 + 95

La CPU de Playstation 3 debe estar entre los 228 y los 235 mm² (según la fuente consultada).

La GPU de Xbox 360 está compuesta por dos chips independientes. Xenos, el "northbridge" (centro de comunicaciones) y procesador gráfico en sí mismo, por un lado, y un chip de 10 Mbytes de memoria DRAM al servicio del sistema gráfico (y que como ya mencioné en el pasado, permite, por ejemplo, antialiasing casi gratuito en muchos casos).

La GPU de Wii también está compuesta por dos chips independientes. Vegas, de 9 x 8 mm, y Napa , de 13.5 x 7 mm. De nuevo, como en el caso de Xbox 360, en uno está el northbridge+chip gráfico (Vegas), y en el otro un procesador digital de sonidolos, junto a los 24 Mb de memoria 1T-SRAM ya existentes en Gamecube (que no deben ser confuncidos con los 10 Mbytes de DRAM mencionados de Xbox 360, que son endiabladamente más rápidos, y se usan como buffer de video. El propio chip gráfico en Wii, Vegas, también tiene memoria embebida que usa como buffer de vídeo, pero de sólo3 Mbytes, y con unas pretensiones mucho más modestas).

Flipper (la GPU de Gamecube) tenía un tamaño de 110 mm².
Gekko (la CPU de Gamecube) ocupaba 43 mm²
Como puede verse, existe una diferencia más que notable.

Esta reducción de tamaño de los chips de Wii, a pesar de ser muy parecidos a los de su predecesora, se debe principalmente a que Gamecube usaba una tecnología de integración de 180 nm, mientras que en Wii descendió a los 90 nm.

Cabe decir que la tecnología de integración de 65 nm ya ha llegado a esta generación, y los chips así fabricados quedan reducidos a la mitad de superficie, lo que resulta en un abaratamieto de los costes de producción (se obtiene un mayor rendimiento económico por oblea de silicio), y como beneficio para el usuario, consumen menos, y por lo tanto, también se calientan en menor medida.

Interesante mencionar que cuando Playstation 2 salió al mercado, su procesador, "Emotion Engine", ocupaba 226 mm², y su sintetizador gráfico, 279 mm². Muy similar a los valores de su sucesora. Más curioso aún es que en las PS3 que llevaban integrado el hardware PS2, el chip que integra estos dos componentes, el "Emotion Engine", y el Graphic Synthesizer, tienen un tamaño de sólo 87,5 mm². Aunque para los estrechos margenes de beneficios en los que se ha movido Sony, su supresión en posteriores consolas, ha debido de significar un ahorro significativo.

En tema de consumos, me atrevería a decir que el complejo "Cell" de Playstation 3, a 3,2 GHz, podría "tragar" entre 3 y 5 veces lo que toda la Wii, y quizá unas 10 veces más que el procesador de Wii, a729 MHz, y con una arquitectura obsoleta, pero eficiente.

Por cierto, la CPU de Wii, "Hollywood", debe contener algo más de 20 millones de transistores. Una cifra muy modesta para los tiempos que corren, y que en cualquier caso debe estar próximo a los 21 millones que componen cada uno de los ocho SPE de "Cell", pequeños procesadores optimizados en calculo vectorial (uno de los cuales viene desactivado en las Playstation 3). De estos 21 millones, sólo una tercera parte la componen los circuitos lógicos, mientras que el resto se emplea en memoria de alto rendimiento. En cualquier caso, "Cell" al completo debe tener unas 10 veces más transistores que "Hollywood". Eso justifica su mayor coste, y también su elevado rendmiento, donde una aplicación bien programada hace palidecer al pequeño procesador de la pequeña de Nintendo. Y que, por supuesto, de nada ha valido para impedir la supremacía de Wii en sus primeros años de vida.

   

Conclusión

No podría acabar esta serie, escrita a lo largo de más de un año, no solo sin una conclusión, sino sin volver a repetir que aunque la orientación ha sido casi totalmente hardware, las consolas se rigen por patrones diferentes a otros computadores y sistemas informáticos. En el mundo de las consolas, los videojuegos son los que dan significado al hardware sobre el que corren. Cuando se busca un ordenador potente para trabajar sobre cierta aplicación, el rendimiento y sus capacidades definen casi totalmente al aparato, al lado de otras consideraciones como el precio, tamaño, mantenimiento, etc. En una consola, uno busca diversión. No es necesario un rendimiento extra por parte de la electrónica, si no aporta nada a la experiencia de juego.

La Wii ha demostrado con creces que un sistema barato, pequeño, ligero, cómodo y con visión y originalidad, puede fácilmente plantar cara a mostruos computacionales. Algo que en otro terrenos sería impensable, en las consola se vuelve real. Y esa magia es lo que le da ese toque genuino.

Gracias a los ingenieros y diseñadores que trabajaron codo a codo durante los origenes de las máquinas de videojuegos, hemos llegado a una época de explendor gráfico, y una mayor accesibilidad al público.

Me gustaría mucho recibir algún comentario tanto si sólo habéis leído este artículo, como si habéis seguido la serie entera.

Conclusión de la conclusión.

Aunque el contenido y el nivel de los expuesto ha sido muy variado, y entiendo que no al alcance de todo el mundo, me gustaría pensar que todo aquel que ha tenido la paciencia y el interés suficiente en leer los 9 artículos que han compuesto esta serie, hayan disfrutado y aprendido algo, al menos lo suficiente para no caer en terrenos puramente utópicos, como los en su día anunciados 75 millones de polígonos por segundo de Playstation 2, o los 125 millones de Xbox, que son fantasmadas de un calibre muy importante. Aunque son números teóricamente alcanzables, y con los cálculos detallados que he venido haciendo a lo largo de estos artículos, he querido justificarlo, en un juego real no creo que ninguna de estas dos consolas pasen de los 15 millones de polígonos por segundo, así, por mojarme un poco.

 
Ha sido un placer compartir lo que se con todos vosotros, y seguiré escribiendo, aunque aún tengo que pensar sobre qué :-)

Muchas gracias por vuestro tiempo. Un saludo cordial

David Senabre Albujer. 2008