texto:   A-   A+
eliax

El PlayStation 3 y el Xbox 360, la realidad se asienta
eliax id: 2105 josé elías en ene 16, 2007 a las 10:18 PM ( 22:18 horas)
Hoy quiero hablar de dos de las consolas que se disputan el reinado de la nueva generación de consolas (aunque como los que leen a eliax.com con regularidad saben que doy como ganador al Nintendo Wii, aun con sus inferiores gráficos), el PlayStation 3 (PS3) y el Xbox 360 (X360), pues creo que podemos aprender algo.

Desde hace un par de años Sony nos tenía a todos excitados con sus notas de prensa, diciéndonos lo impresionante que el PS3 iba a ser, incluyendo no solo Blu-ray sino que la nueva tecnología Cell que desarrollaron con Toshiba e IBM, y que según Sony revolucionaría no solo el mercado de juegos sino que el de dispositivos electrónicos en general. Ver por ejemplo este enlace en eliax, y este otro, y este otro mas.

Cell, en particular, sobre papel suena como un sueño hecho realidad para los que disfrutamos de leer manuales técnicos llenos de acrónimos. Para empezar, Cell es una arquitectura creada desde cero para ser masivamente escalable, tanto vertical (dentro del chip) como horizontalmente (colocando varios chips para que trabajen en un problema en conjunto).

Así mismo Cell está diseñado para lo que se denomina "stream processing" (que en Español sería "procesamiento de datos encadenados"?), por lo que operaciones que se pueden poner "pipelined" como es la codificación y decodificación de video de alta definición, o el procesamiento masivo de operaciones paralelas númericas, experimentarían un incremento sustancial en rendimiento. Sony mismo demostró (y hablamos de eso en Eliax hace casi un par de años atrás) un chip Cell decodificando en tiempo real varios "streams" de video de alta definición simultáneamente.

Además, Cell soporta un elegante modelo de programación (que nos hace acordar de la tecnología Jini de Sun Microsystems) en donde uno le asigna tareas a los núcleos dentro del Cell y estos las ejecutan, devuelven los resultados, y continúan haciendo otra tarea, de manera prácticamente independiente.

El poder del Cell era tan impresionante que según Sony la tarjeta de video está en el PS3 más para ayudar que para otra cosa, ya que el mismo Cell es capaz por su cuenta de generar gráficos sumamente detallados pos sí mismo.

Y ahora volvemos a la realidad.

Aunque casi todo lo que dijo Sony es cierto (o al menos en papel), la realidad de la industria de los video juegos es otra. En el mismo tiempo que Sony gastó miles de millones (literalmente) en el desarrollo de Cell, tanto Intel como AMD ya estaban bien encaminados en arquitecturas similares (aunque talvez no tan elegantes), así como IBM seguía adelante con grandes avances en su arquitectura Power (de la cual se derivan los PowerPC).

En otras palabras, si Sony hubiera decidido en vez de crear una tecnología propietaria a aliarse a alguien como AMD o Intel, es muy posible que hubiera tenido el equivalente a un Cell dos años atrás o más (Sony duró 5 años tan solo en el desarrollo de Cell).

Pero eso no es nada. El gran problema de Sony es que no entiende que estamos en una era en donde los programadores no se pueden dar el lujo de gastar mucho tiempo en el desarrollo de un juego. Hoy día, según Electronic Arts (la empresa #1 de software de video juegos del mundo), un juego típico fácilmente cuesta entre 5 y 20 millones de dólares producirlo, por lo que si el juego no se vende en grandes cantidades representa un gran golpe para la empresa, por lo que el tiempo de salir al mercado rápidamente con muchos juegos es imperativo.

En los tiempos de antes era normal durar 1, 2 o 3 años desarrollando un juego, y a los programadores les importaba durar 6 o 18 meses aprendiendo los más mínimos detalles técnicos de una nueva consola. Más sorprendente aun, mientras que en el mundo de la PC se programaba en C o C++, en las consolas se programaba una buena parte del código aun en Assembly Language.

Sin embargo, la realidad hoy día es que los programadores tienen que ser productivos. Hoy programar juegos a gran medida es un trabajo como cualquier otro, y programar en Assembly es algo que no solo toma mucho tiempo, sino que es difícil de diagnosticar y optimizar.

¿A dónde vamos con esto? Al hecho de que Sony eligió no solo una arquitectura asimétrica (en vez de simétrica) para su PS3, sino que hizo prácticamente un requerimiento el poder programar en Assembly Language. Y no solo programar en Assembly, sino que saber programar bien, y con una arquitectura totalmente nueva, Cell.

Pues verán, a diferencia del CPU simétrico del Xbox 360, que consta de 3 CPUs idénticos (PowerPC), cada uno con 2 núcleos, en el PS3 el CPU es asimétrico, ya que hay que programar tanto para un CPU "coordinador" (un PowerPC con 2 núcleos), como para los 7 núcleos del Cell. Lo peor del caso es que si programas solo para el PowerPC que entonces no tomas ventajas del Cell y los programas no son muy eficientes, y si programas para el Cell es prácticamente necesario también mezclar código de PowerPC con código de Cell (que son dos arquitecturas completamente diferentes).

Esto ha tenido como resultado que aunque el PS3 sea aparentemente más poderoso que el X360 en papel, que en la práctica este no sea el caso, pues los programadores básicamente han ignorado al Cell (o no han podido sacarle provecho) en esta primera ola de juegos del PS3 ya que Sony no les ha proveído buenas herramientas para programar al Cell a alto nivel, dejando al PS3 competir con su solo PowerPC de 2 núcleos contra los 3 procesadores PowerPC de 2 núcleos cada uno del X360. Esto es evidente en juegos que salen para los dos consolas, en esta comparación por ejemplo (muevan el ratón sobre las imágenes para ver la versión PS3, noten que abarca varias páginas con muchos juegos), es evidente que en al menos el 80% de los juegos el X360 ofrece superioridad gráfica, y no solo visual, porque si leen el artículo completo notarán que mencionan que el "frame rate" (la fluidez de movimiento del juego) es mucho mejor en casi todos los juegos en el X360.

Noten que con el tiempo, mientras los programadores se familiarizan con el PS3 que la calidad de los juegos (desde el punto de vista gráfico) mejorará, pero esto tomará tiempo. Es posible que hasta finales del 2007 o mediados del 2008 veamos tan solo unos pocos juegos que tomen verdadera ventaja del PS3; hasta entonces el X360 seguirá ofreciendo la misma o mejor experiencia que el PS3 (y a un menor precio), y esto es muy mala noticia para Sony, pues es posible que el X360 haya obtenido una tajada tan grande del mercado que le sea difícil a Sony mantener su puesto en el mercado. No solo eso, sino que noten que los programadores del X360 ya tienen casi 2 años de ventaja programando al X360, por lo que para cuando los programadores del PS3 ya estén tomando ventaja de esa plataforma, los del X360 ya van a estar exprimiéndole cada gota de poder al X360, haciendo la diferencia entre juegos casi imperceptible. Este año será muy interesante observar en este respecto.

¿Pero cuál es el mensaje de todo esto? Pues como dice el refrán, el que mucho abarca poco tiene. Sony ha querido extender su estrategia clásica de tecnologías propietarias no solo al software, o al mundo del almacenamiento (no se cansan de formatos propietarios como Betamax, Mini Disc, Memory Stick, UMD, etc), sino que hasta a los microprocesadores que utiliza, pero esa estrategia ya no es muy efectiva en un mundo que se mueve tan rápido como este.

A Microsoft hay que darle crédito por haber elegido lo mejor de la tecnología existente en vez de reinventarlo todo, y de proveer la mejor experiencia hasta el momento para los programadores (los cuáles unánimemente dicen que es la mejor plataforma para programar entre las tres nuevas consolas), por lo que se ha adaptado mejor a los tiempos. Sin embargo, el reinvento es algo que de vez en cuando es bueno (miren a Apple y a Nintendo), pero hay que saber ejecutar, y hacerlo en el momento apropiado. Sony se equivocó de momento y de estrategia.

Todo esto nos trae en círculo al Nintendo Wii. Es la menos poderosa de las tres nuevas consolas, pero la que mejor estrategia de mercado tiene: En vez de Nintendo invertir miles de millones de dólares para competir contra Sony y Microsoft, decidió invertir su dinero en innovación de la experiencia del juego en sí con su novedoso control (el "Wiimote"). Así mismo arquitectónicamente es básicamente un GameCube con mejores gráficos, por lo que los programadores ya están familiarizados con ella, y el bajo costo ($250 dólares) es algo que atrae a muchas personas que no pueden pagar $400 o $700 por una consola para jugar. Lo mejor del caso es que con todo el dinero que Nintendo está acaparando con las ventas del Nintendo DS y el Wii, que ahora es entre las tres empresas la que mejor puede invertir en tecnología de punta para los próximos años, por lo que pueden esperar que el sucesor del Wii tenga unos gráficos impresionantes, en el momento adecuado...

Lección: A veces las empresas se siegan con tener lo más poderoso, rápido y despampanante, sin pararse a pensar en qué es lo que le da valor a sus clientes y socios (es decir, juegos divertidos). En otras palabras, es erróneo asumir el éxito de una consola a lo poderoso que se ve al leer especificaciones sobre papel (ejemplos: NeoGeo, 3DO, Sega Saturn, Atari Jaguar), cuando lo importante es cómo esta se ajusta a las realidades del mercado actual en términos económicos, de practicalidad para los desarrolladores, y de diversión para los usuarios.

En base a todo esto le doy las siguientes calificaciones a las consolas: Nintendo Wii (A), X360 (B+), PS3 (C+). Noten ques estas calificaciones no son representativas ni de sus especificaciones técnicas ni de sus tajadas de mercado (lo cual sabremos dentro de 1 año).

Actualización: Noten que el PowerPC del X360 es en realidad un chip con 3 núcleos, cada uno con la capacidad de ejecutar 2 threads simultáneos, que es practicamente equivalente a lo que dice el artículo original. Disculpen cualquier confusión!

autor: josé elías

Comentarios

  • Es un excelente análisis imparcial. Solo quería agregar que además de la flexibilidad o facilidad que le ofrece a los programadores, Microsoft tiene planes de actualizar el Xbox 360 para ofrecer HDMI 1.3, entre otras acutalizaciones de hardware, así como integración con la plataforma IPTV, e interacción de juegos entre usuarios de Windows Vista y XBOX 360, lo cual aumentaría significativamente la popularidad tanto de juegos como de consumidores.

  • Un artículo interesantísimo analizando las decisiones de Sony y de Microsoft en la nueva generación de consolas. Un análisis macanudo e imparcial de interés para los interesados en los juegos de video y para los que manejan negocios. También denle una mirada al blog ese de eliax en general, es una verdadera joya escondida en internet.

  • Aparte de que la XBox 360 no tiene tres PowerPC de 2 núcleos, sino 1 PowerPC de 3 núcleos, lo que significa la mitad de potencia de la que indica el artículo, tampoco puedo estar de acurdo en que las imágenes de los juegos de XBox 360 sean claramente superiores a las de PS3.

    Lo que se nota es una clara diferencia del tratamiento de la iluminación, en la que las imágenes de la PS3 son mucho más claras que en la XBox. La calidad del gráfico es muy similar.

    Por otra parte no es cierto que la PS3 obligue, ni que tan siquiera sea recomendable, programar en ensamblador. Precisamente en la PS3 se emplea la librería gráfica OpenGL, totalmente equiparable al Direct3D empleada en la XBox. Lo que si puede suceder es que entre la mayoría de desarrolladores de juegos hoy por hoy estén más acostumbrados a la programación en Direct3D que en OpenGL, a pesar que OpenGL es multiplataforma (sistemas UNIX, Linux, Macintosh, PS3, Windows...) mientras que Direct3D es exclusivamente para Windows (ya sea Windows para PC o Windows para XBox). Lo que si es cierto es que programar las PSU de la PS3 es algo complicado, porque no sólo usan un sistema diferente de programación, sino que además requieren un complejo sistema de sincronización.

    En lo que si es seguro es que los juegos para PS3 mejorarán mucho a lo largo de la vida de la consola, mientras que seguramente la XBox 360 ya ha llegado a su cenit de rendimiento (o esta muy cerca).

    En cuanto a la Wii, Nintendo se ha metido en una estúpida encerrona al no equiparar en rendimiento a las consolas actuales, porque su única ventaja real es su novedoso mando, que puede funcionar o no, y si no funciona la consola se va a la papelera, y si funciona, aparecerán clones del mando como accesorio para las otras consolas, que seguirán teniendo superioridad técnica en el resto de apartados. Nintendo se ha metido en pan para hoy...

  • Yo solamente opino que si el mundo avanza tan rápido como dices en tu articulo, entonces los programadores tendran que hacerlo de igual manera o más rápido, y tendrán que empezar a programar en PS3 ya que mas temprano que tarde estará completamente al límite, mientras que el PS3 seguirá siendo superior, pero creo que todos concordamos en que el tiempo es el que decidirá todo, y yo pienso que lo estaremos viendo en este año

    • Yo apoyo a la PS3. Yo soy de SONY y no pienso pagar ni un duro mas a Bill Gates (microsoft).
      XBOX tiene una consola portatil? NO
      XBOX tiene tantos PROGRAMADORES como sony con DARK ALEX? NO
      Tarde o temprano, como bien dice un compañero, Sony cojera el mando, la XBox 360 lleva un año en el mercado, pero ¿Que me direis cuando lleve la PS3 un año? sera la repoya

  • Dark alex trabaja para sony?? primera noticia, estupideces que lee uno dios

Añadir Comentario

tu nombre
tu email
(opcional)
web personal
(opcional)
en respuesta a...
comentario de caracteres máximo
9 + 8 = requerido (control anti-SPAM)
¿De qué color es el cielo?: requerido (control anti-SPAM)
 

"Muchas gracias Elías !!!! este blog cambió mi percepción del mundo,

saludos !!!
"

por "Juan Pablo" en ene 2, 2011


en camino a la singularidad...

©2005-2024 josé c. elías
todos los derechos reservados
como compartir los artículos de eliax