Programando la PS3 vs XBOX360
Algunos ya han comentado que el CELL será un gran procesador siempre que se le pueda sacar todo el rendimiento que de él se espera, pero la pregunta está en si eso será fácil para los desarrolladores.
El CELL cuenta con 1 procesador principal (Power Processing Element o PPE) que es básicamente una variación de un Power PC 970 con una cache L1 de 32KB de Datos y 32KB de Instr., además una L2 de 512KB, todo ello a 4GHz. Junto a este PPE hay ocho módulos de procesamiento llamados Synergistic Processor Element o SPE, con toda esta artillería no es de extrañar que tenga una marca teórica de nada menos que 256 GFLOPS.
Sony ha elegido bien, sin embargo, y su consola podrá ser programada en Cg (http://developer.nvidia.com/page/cg_main.html y http://en.wikipedia.org/wiki/Cg_programming_language), C++ y la API de gráficos será OpenGL|ES (http://www.khronos.org/opengles/), esta librería es un estándar con la que muchos desarrolladores están acostumbrados a trabajar, no solo en el mundo de los videojuegos sino también en CAD/CAM y otros. Además, es conocido que la curva de aprendizaje de OpenGL es muy buena y aumenta las posibilidades de encontrar buenos desarrolladores y los estudios podrán contratar a gente nueva para los desarrollos en PS3. En cuanto a Cg es una excelente elección por la facilidad de uso que tiene para los desarrolladores en cuanto a gestión de objetos gráficos, con una gran potencia, yo personalmente no he programado con Cg, pero después de haber visto algunos ejemplos y haber leído un poco, desde luego que tengo ganas de probar un poco :d...
Con el esquema del procesador que ya hemos comentado tenemos básicamente ocho elementos de ejecución más o menos independientes, que se deben usar organizadamente para poder sacarle el máximo rendimiento.
Uno de los aspectos más complejos en cualquier sistema software que se desarrolle es el hecho de la concurrencia, hacer que varios hilos de ejecución se coordinen para un objetivo común es un problema bastante complejo de afrontar.
El desarrollo de un juego con varios hilos de ejecución es el nuevo reto de los estudios de desarrollo, los procesadores de las nuevas consolas tienen varios CORES de ejecución (XBOX360 cuenta con 3 procesadores en uno, PS3 cuenta con 8 elementos de ejecución, un PC puede tener entre 1 y cuatro CORES en un mismo procesador). Este nuevo elemento en el panorama de los juegos no hace mas que enriquecer cada uno de los aspectos de los mismo, podemos tener un hilo de procesamiento para el reenderezado, otro para la física, otro para el sonido y otro para la IA... obviamente las posibilidades aumentan muchísimo cuando cada uno de los aspectos principales del juego cuenta con una unidad de ejecución que no tendrá que compartir. Este enfoque no carece de problemas, pues hay que organizar muy bien la ejecución para que la física tenga el resultado junto a la IA y el resto antes de renderizar la escena. En el siguiente artículo podemos ver este enfoque más en detalle .
Sony, consciente de que este va a ser su caballo de batalla, ya desde el principio dio algunas directrices a los desarrolladores para enfrentarse a este esquema de programación paralela. Un o de ellos es, por ejemplo, la cola de trabajo, si cada una de las operaciones que tiene que realizar la aplicación se ponen en una cola de trabajo en orden y según se van quedando elementos de ejecución libres se les va asignando la tarea tendremos un resultado que organizado a su salida nos ofrecerá el resultado esperado... obviamente el overhead que supone la organización a la entrada y a la salida de la cola, tanto como la potencia que requiere la solución de las distintas dependencias entre las distintas tareas no son gratis. Este esquema será muy valido cuando hay una alta independencia entre las tareas a realizar, caso en el que no están los juegos.
Otra de las aproximaciones, por nombrar dos, es que sea el programador quien a base de artificios típicos de la programación concurrente sea quien realice la coordinación entre las distintas tareas y cada una de ellas se va asignando a cada uno de los módulos de ejecución. El problema que presenta esta aproximación es que se necesita mucha destreza. Un ejemplo del dolor de cabeza que esto puede suponer es el QUAKE III Arena, que en su versión multithreaded era capaz de incrementar el rendimiento nada menos que en un 40%, sin embargo, fue notoria la cantidad de problemas y la fragilidad y poca estabilidad de este tipo de ejecución en el juego, que era tremendamente inestable con muchos drivers gráficos excepto con unos cuantos. Desde el punto de vista de John Carmack, en la mejora del rendimiento se ve hacia donde van los juegos actualmente, pero en la fragilidad se ve la dificultad a la que se enfrentan los desarrolladores ().
Como ultima nota dejaré este interesante articulo en donde se explican los modelos de programación y si se puede considerar fácil o no la programación en la PS3. .
En definitiva, lo que vemos es un proceso de involución en la abstracción en el desarrollo software, ya que ahora se debe tener muy en cuenta sobre qué hardware va a correr cada juego para adaptar el código de forma que se saque el mayor rendimiento, esto es un problema para lo estudios que lo que desean es tener que hacer las cosas una sola vez y poder disfrutar de ese trabajo en el mayor número de plataformas posibles.
Hasta aquí lo objetivo... ahora lo subjetivo. ¿Es difícil la programación en la PS3?, yo creo que la respuesta es si. Lo cierto que la programación de cualquier sistema concurrente conlleva una serie de problemas que en la PS3 se aumentan, debido a su arquitectura, sobre si va a ser un problema capital para la PS3, creo que no. De todos es conocido el "dolor" que supone programar en la PS2 y aunque se ha tardado en pillarle la medida, creo que se han hecho títulos increíbles para el hardware de que estamos hablando, BLACK es un ejemplo muy claro, cualquiera que haya probado este juego se da cuenta del impresionante número de objetos que se mueven en la pantalla, lo cierto es que es increíble lo que han llegado a hacer con la PS2. No creo que con la PS3 vaya a ser necesariamente mas difícil, al contrario, creo que Sony ha trabajado en facilitar las labores de desarrollo usando OpenGL y Cg.
Sin embargo, si lo que nos preguntamos es si es mas fácil desarrollar en la XBOX360, por lo que cuentan los desarrolladores, Microsoft ha creado herramientas de desarrollo muy superiores de las que tiene Sony, no obstante se debe pensar que Microsoft es una empresa de Software, cosa que no lo es Sony, o al menos si la comparamos con la maquina de hacer Software que es Microsoft.
Comenta John Carmack que es deseable que el desarrollo de un juego sea un 20% mas fácil a tener un 20% mas de potencia para poder hacer cosas. Esto es totalmente lógico si además pensamos que la XBOX360 es una excelente máquina con un Hardware que no la deja demasiado detrás de la PS3. Lo que ha conseguido Microsoft, es una plataforma de desarrollo fácil, cómoda y cuyo código se puede mudar fácilmente al PC, mientras que pasar código de la XBOX360 a la PS3 y viceversa, va a ser una tarea compleja, por la diferencia en las arquitecturas de la consola.
Creo que en todas las plataformas vamos a ver gráficos muy parecidos, pero que el motor interno y el comportamiento del juego va a ser muy distinto dependiendo de la consola. Un ejemplo lo tenemos en Assasins Creed, el impresionante juego que están haciendo en el estudio de Ubisoft en Montreal, parece que va a tener un aspecto igual en ambas consolas, sin embargo, ya se ha adecentado que la IA en la XBOX360 será un poco mejor que en la PS3, y la verdad es que esto no deja precisamente bien a la consola de Sony. En mi opinión este caso se va a repetir durante un tiempo hasta que la PS3 alcance la calidad en el desarrollo de la XBOX y a partir de ese momento Sony llevará las riendas en los juegos.
Update: Me comentan (lo ví, pero no hice el update en su momento)... y es cierto, que Ubisoft ya ha dicho que la IA será la misma para ambas consolas (el código será el mismo) y que la diferencia no será apreciable... Lo cierto es que cuando dicen que el código de la IA sea el mismo no significa, per-se, las mismas soluciones de la IA, pues el tiempo de CPU dedicado a ese hilo no es el mismo. Aunque ciertamente, no creo que veamos diferencias apreciables en el juego.Update:A lo largo de artículo comento las características técnicas que el CELL debería haber tenido. Son 3,2Ghz en vez de 4Ghz y Siete (7) SPE, uno de ellos usado como unidad de ejecución del sistema operativo.



41 comentarios:
¡Hola!
Me parece muy interesante tu reflexión sobre la programación para PS3, pero creo que deberías informarte mucho mejor y no dejarte llevar por rumores y opiniones de otras personas y/o entidades, y sí que deberías tratar de pensar por ti mismo un poco más.
Como ejemplo, te diré que el tema de la Inteligencia Artificial del juego Assassin's Creed se funda en un rumor incierto, ya que la programación de la IA es exactamente el mismo en las dos plataformas. ¿De verdad te has creído que iban a hacer dos versiones distintas del mismo juego? Otra cosa distinta es que la carga de la IA en las dos plataformas sea diferente, hecho que es completamente lógico.
Te aconsejo que no hagas mucho caso de todo lo que se dice por ahí, que hay mucha política detrás de todo esto, y más estando Microsoft por ahí detrás...
Un saludo.
Hola :) gracias por la opinión, pero no creas que baso las cosas en lo que dice la gente...
Me explico: resulta que ese comentario del que hablas lo hizo nada menos que Jade Raymond... es la Producer de Assasin's Creed y comentó que la potencia para la IA en XBOX360 seria mayor que en la PS3.
Como una semana después, ella mismo comentó que el código para la IA era el mismo, asi que la diferencia no iba a ser notable (eso es una mentirijilla a medias) y veras por qué.
Cualquiera que haya hecho algo medianamente serio en IA sabe que el que el código sea el mismo no tiene nada que ver con el resultado si el tiempo (potencia CPU) dedicado a cada una de las soluciones no es el mismo. Es decir, el tiempo dedicado a una solucion es mayor y el resultado es más óptimo.
Obviamente lo que quería decir Jade (la primera vez que comentó eso) era que habrá más potencia de CPU para Assasins Creed en XBOX360 que en PS3, no que el código fuera a ser distinto.
A mi personalmente, me suena a que hubo gente a la que no le gustó, que una vez más la PS3 saliera perdiendo y los "telefonos volaron" :)
Muchas gracias por tu comentario,
Saludos :)
¡Hola!
Cito:
UbiSoft stated:
"While the method for distributing AI load is different on each platform, the AI code itself is the same. Players will experience the exact same crowd results on PS3 and Xbox360."
Por otra parte, y por lo poco que sé sobre IA aplicada a juegos, esta parte suele estar basada en scripts, es decir, en programas interpretados que son mucho más lentos que los compilados. Por lo tanto, lo más importante no creo que sea la potencia de la máquina en ese aspecto...
En fin, que esta guerra de consolas/compañías se presenta apasionante.
Un saludo.
Hola :),
Es cierto lo que dices pero no del todo exacto.
Aunque es verdad (no siempre es así, pero si en muchos casos) que la IA esta programada con scripts, el tiempo de CPU que se le dedica a una solucion lo es todo en muchos casos y en Assassin's Creed lo es mucho más por la atención que le ha sido puesta a la IA.
En general, una buena IA deberá ser adaptativa al entorno teniendo en cuenta una serie de variable y dar una solución antes de que haya que renderizar la escena. Por tanto, el tiempo que tiene en cada "pasada al script" es limitado. Por eso, si eres capaz de hacer mas cosas en menos tiempo, podrás calcular más soluciones y elegir la mejor.
No tiene nada que ver con la forma de programacion (script o no), pues lo que cuenta es la caracteristica dinamica (no estática) del problema a afrontar y las soluciones encontradas en un tiempo.
En cuanto al comentario que hace Ubisoft a nivel empresarial... es totalmente lógico, estan intentando arreglar el patinazo de Jade cuando comentó el tema :).
Con todo y con eso no creo que la diferencia sea apreciable (en el comportamiento de la IA en el juego)
Lo que creo más significativo es que una Producer diga eso... da que pensar.
Como bien dices, sí que da que pensar... Sobre todo después del anuncio inicial de exclusividad del juego para PS3.
De todas formas, y cambiando un poco de tema, lo que más me está sorprendido en esta generación de consolas es la 'manipulación' de información que se está llevando a cabo por muchos medios, sobre todo electrónicos.
Con esto no defiendo a Sony ni a PS3, sobre todo después del retraso en Europa una vez que se anunció un lanzamiento mundial, sino que me sorprenden muchas opiniones de gente que no se para a pensar en las cosas fríamente.
Sólo espero que Sega vuelva a lanzar una nueva consola algún día, aunque será difícil, y que Yu Suzuki retome la saga Shenmue. :-)
Un saludo.
La mayoría de algoritmos de IA son de búsqueda. Si emplean más tiempo, pueden profundizar más en el árbol de casos, y llegar a mejores soluciones. Hay el ejemplo de los primeros programas de ajedrez, donde aumentar el nivel de dificultad aumentaba (exponencialmente) el tiempo que tardaba la máquina en mover, a pesar y/o a consecuencia de usar el mismo algoritmo.
Justo a eso me refería, el profundizar mas en el problema (mas tiempo de CPU) da mejores soluciones.
Desde luego que el toma y daca de si esta es mejor que la otra y demás, es curioso... pero me pregunto por que son los desarrolladores (que son los que se pelean con las consolas), siempre ponen a XBOX360 como mejor.
Para mí eso tiene un peso.
Otro ejemplo de algo parecido es el Post que hice sobre lo que decia Mark Reid... un caso casi identico al de Jade.
Yo pienso que no es tan crítica la potencia de la máquina en cuanto al desarrollo de algoritmos de IA, y sí veo más importante la habilidad del programador para encontrar un algoritmo eficiente.
En cuanto a lo de las herramientas de desarrollo está claro que Microsoft lleva mucho tiempo en el desarrollo de SW y, por lo tanto, es normal que sus herramientas gusten más a la mayoría de desarrolladores.
Por cierto, ¿qué opináis del hecho de que PS3 tenga como núcleo del sistema operativo instalado en el disco duro Linux? ¿Y de las elecciones de los lenguajes Cg de Nvidia y C++? A mí me parece una decisión muy acertada, sobre todo por el hecho de apostar por el SW libre en un sistema de tanta envergadura. Aunque aún falta por saber qué posibilidades ofrecerá PS3 como plataforma de desarrollo en lo que a este tema se refiere.
Creo que es lo más acertado que ha hecho Sony desde que tuvo la idea de sacar la PS3... creo que ha hecho tantas cosas mal (imagen de arrogancia, retrasos, mando fallido, precio...), que es sorprendente que eso lo haya hecho tan bien :).
Creo que si al final es un bombazo (cosa que me cuesta creer a corto-medio plazo), será por la elección que ha tenido con Cg, Linux y todo lo demás.
Por otro lado, aunque estoy de acuerdo contigo, en que es más importante el script que el tiempo de CPU, lo cierto es que a igual código, lo que cuenta es la CPU.
Saludos :)
Los programadores de consolas llevan décadas de experiencia matándose para optimizar con hardware exótico, así que la PS3 no va a suponer tanta diferencia de mercado... basándonos sólo en el factor de la dificultad de programación.
De hecho en este artículo hay un comentario al respecto:
http://www.gamesindustry.biz/content_page.php?aid=17547
"I'd say PS3 was a challenge to work on," he said, "but every new platform takes a while to get used to. Put it like this, I worked on early PS2 games, and those were a real nightmare - we're getting code up and running on PS3 much faster than we did last time around."
"Once people start doing really impressive stuff on PS3 and Xbox 360, they're both going to be much the same [in terms of difficulty]," he concluded. "Sony's giving us better tools this time around - they're still not great at communicating and there are some weird holes in their developer support, but they've learned a lot of lessons from PS2."
Una de las cosas que se olvidan con frecuencia es que la Xbox360 tendrá menos cores, pero los tres están ahí (de hecho son multihebra, pudiendo ejecutar 2 hebras cada uno), y con ello la misma necesidad de concurrencia y optimización para aprovechar la caché de la CPU (que también es programable como los Local Store de la PS3 - aunque opcionalmente en este caso).
De todas formas al final la consola más aprovechada será la que más cuota de mercado obtenga, sea fácil de programar o un Cray de cuarto de estar.
Estoy de acuerdo contigo en que el Shadow Of The Colossus es un ejemplo perfecto de a donde se puede llegar con la PS2, al igual que el Black.
Pero el que se hayan hecho cosas muy difíciles antes no significa que se puedan hacer igual ahora (al menos a corto plazo). La dificultad ,yo diría, que es casi exponencial con el número de hilos en el juego, no solo por la concurrencia sino por la arquitectura de memoria de cada SPE que te obliga a "trocear" las llamadas a memoria en 256KB, todo al tiempo, con un bus "saturado" de trabajo (EIB).
Cierto que para todo eso habrá capas de abstracción, pero esas capas restan rendimiento y si de lo que se trata es de sacar rendimiento muchos preferiran hacerlo al más Bajo nivel.
No se trata tanto del número de hilos (en XBOX360 3 Cores y 6 hilos y en PS3 hasta ocho hilos), si no de todo lo que rodea a la nueva arquitectura basada en SPE del CELL.
Conincido contigo en que todo eso dará igual una vez que una consola se haya situado como "la reina", que si es la PS3 se le sacara mucho jugo (y juego ;)), el problema para la PS3 es que para ser "la reina" deberá salvar ese importante problema.
El problema es que cuando en la X360 quieran ir al más bajo nivel se encontrarán con una caché compartida de 1 MB para 6 hebras y bus de memoria compartido con la GPU mientras que el Cell tiene asignados 256 MB de RAM con un bus dedicado, y la GPU ídem.
El PPE (que tiene su propia unidad vectorial y también es multihebra - dos) tiene su propia caché y el EIB gestiona de forma concurrente peticiones de acceso a memoria tanto de la caché del PPE como los Local Store de los SPE, con un ancho de banda en pico de 200 GB/segundo. Cada uno de los canales de memoria de la PS3 (GPU y CPU) rinden a 25,6 GB/s, y en la 360 el ancho de banda memoria-CPU/GPU es de 21,6 GB/s. Es decir, el EIB está precisamente diseñado para no ser un cuello de botella en las transferencias de memoria, y de hecho sobra ancho de banda para transferir datos entre el PPE y los SPE, así como de SPE a SPE.
Quitando que los SPE, y no la GPU ni el PPE, tienen que usar menos de 256 KB de datos (las instrucciones también ocupan espacio en los Local Store), el nivel de complicación queda sujeto a lo que quiera hacer el programador. Pero sin meterse en colas de trabajos y demás, ya de por sí se logra un rendimiento muy bueno.
Desde luego si se quieren complicar, se pueden hacer ciertas florituras como transferencias de datos en cascada de SPE a SPE sin tocar el bus de memoria principal.
Lo que dudo es que tengan que romperse los cuernos para lograr más que en otras consolas (quitando los 256 MB de memoria de video), sino para hacerlo mejor que la competencia en la PS3.
Hola Francisco,
Aunque lo que dices es verdad desde el punto de vista de la saturacion de los buses (anchos de banda y demás), lo que realmente es un problema para los procesadores es tener que ir a buscar la cosas (ya sean instr. o datos) a memoria.
Si tenemos en cuenta la localidad espacial y temporal en la que se basan las cachés y por tanto tambien los 256KB de memoria de cada SPE, nos quedamos verdaderamente lejos del ideal para una unidad de ejecucion como es el SPE.
Yo veo el CELL como un prodesador de proposito específico "venido a mas" (sin querer ser despectivo ni mucho menos!)pero que se queda un poco corto en ese punto (probablemente el único punto oscuro de esa maravilla de procesador).
En cualquier caso y dejando de lado el bajo nivel, lo que si queda patente por parte de John Carmack (Quake), Jade Raymond (Assassin's Creed) y Mark Reid (Gears Of War) es que no es oro todo lo que reluce y les está costando mucho hacer las cosas bien en la PS3, y es ahi a lo que yo iba, desde luego no pretendo comparar sobre el papel el procesador de ambas ni nada parecido (hice el repaso al Cell para poder razonar los problemas de programación).
Y esto que estoy comentando, sobre los desarrolladores, debería ser un punto a tener en cuenta, pues no son tres productos menores ni mucho menos, de hecho el Assain's Creed se dijo en su momento que sería exclusivo PS3!, ahora no solo no lo es sino que en XBOX tiene mas tiempo la IA para hacer sus cosas, John Carmack se queja (que no es poco) y seguro que no es quejarse por deporte y Mark Reid (Unreal 3, http://theneedforgaming.blogspot.com/2006/10/mark-reid-se-pasa-de-la-raya.html) tampoco se queda mudo. Estamos hablando de las tres personas que estan creando y crearan los juegos que marcaran un antes y un despues en las consolas de nueva generación (Alan Wake mediante ;)).
Saludos y muchas gracias por las opiniones.
Hola!
Me parece bueno el resumen de las capacidades de la PS3, y los comentarios. Voy a aportar ahora mi granito de arena.
Cuando leí sobre el CELL, quiero recordar que de los 8 SPE que tiene, uno de ellos viene "quemado" de fábrica. Parece ser que por fabricación, no se puede garantizar que los 8 vayan a funcionar, así que el programador solo puede tener garantías de que hay 7. Además, Sony se reserva uno de ellos para "uso interno", que, posiblemente, sea para temas de seguridad anticopia. Si alguien puede confirmar todo esto, sería estupendo.
Por otro lado, la arquitectura de la 360 y de la PS3 son completamente distintas.
Como comentaba alguien, en la 360 podemos contar con 6 hebras en "ejecución" (gracias al hyperthreading), que tienen a su disposición toda la memoria de la máquina (salvando el tema de la caché, etc.).
Sin embargo, en la PS3, tenedríamos la posibilidad de 8 hebras (o 6...) para los SPE, más lo que mueva el PPE. Sin embargo esas "hebras" de los SPE pueden manejar únicamente 256Kb de memoria, por lo que no pueden realizar trabajos muy pesados (por ejemplo, mantener en ella el intérprete de scripts de la IA, y ejecutar el script, accediendo a todos los datos necesarios).
Por ello, aún no está claro cual será el modelo de programación más adecuado de la PS3. Uno podría ser estructurar el código del juego en módulos pequeños e independientes, que entren cada uno en un SPE, y otro utilizarlos a modo de pipeline, en el que la salida de uno de ellos sirve de entrada par los otros (el bus permite hacer esto de forma eficiente). Por ejemplo, en uno podría estár el "compilador" de los scripts a código nativo, que se envía al siguiente SPE que lo ejecuta.
Lo que parece claro es que, a pesar de que ambas se puedan programar en C++, la distribución de tareas de ambas será muy diferente (igual que con la XBox y la PS2).
Por último, quiero hacer una reflexión, que no he visto escrita en ningún sitio, pero que me parece importante. Tanto la PS2 como la PS3 tienen arquitecturas difícilmente aprovechables al 100% desde el principio del ciclo de vida de la consola. ´Ésto se ha visto con la PS2 (y aquí se han comentado algunos juegos "tardíos" que por fín han aprovechado la potencia de la PS2), y se verá también con la PS3.
Mirándolo desde otra perspectiva, no creo que esto sea traumático. Dentro de 3 años, los usuarios de XBox 360 verán que su consola tiene un hardware anticuado, que en PC los juegos son mucho mejores, y que la calidad de los juegos que salen al mercado es equivalente a los viejos juegos que se compraron 3 años atrás. Sin embargo, los usuarios de la PS3 del año 2009, verán que, a pesar de tener un hardware "anticuado", los juegos que hay en las tiendas para esa consola tienen más calidad que los que hubo en las navidades del 2008. Y creo que eso es un punto a su favor.
Mogur
jmslay:
A ver, el problema de la localidad espacial y temporal es la misma para los SPE que un procesador con caché tradicional, con la diferencia de que serán los programadores los que metan los algoritmos de captación según los requisitos que tengan.
Es verdad que el Cell donde más rinde es en el proceso multimedia, especialmente con datos de tipo stream como los videos, y algoritmos de propósito general con datos dispersos en memoria presentarán más problemas para captar datos de memoria y dividir el trabajo. Pero en temas como cálculo de deformación de mallas la cosa no es tan complicada.
El caso es que si te fijas en la arquitectura, el PPE está hecho para los cálculos de propósito general y los SPE para cálculos complejos sobre secuencias de datos. Lo que va a acabar pasando es que tirarán de SPE en cálculos físicos y demás para librar de carga al PPE, y no ese engorro de programación concurrente para IA que más de uno se está imaginando.
En cuanto al artículo del Unreal Engine 3... ¿lo has leído bien? Mark Reid dice (no directamente) que la Xbox 360 también es next-gen y lo que dice Sony de que hay que esperar a la PS3 es "bullshit" (mentira, vamos, y estoy de acuerdo), y que algunos clientes están preocupados por el port de la PS3. No dice en ningún momento que vaya a ir peor en PS3. De hecho en ese mismo foro aclara que el único motivo de que vaya mejor en 360 es que ahora mismo es cuando están centrados en esa máquina, con PS3 y PC en el punto de mira.
Respecto a Carmack, pues qué decir, los únicos lanzamientos en consola de Id Software son ports de PC que a duras penas usan threads. Lo raro sería que no le pareciese más fácil la X360. Yo miraría más bien a compañías como Konami, Square-Enix, Electronic Arts o Factor 5, que esas sí que son grandes en desarrollo para consolas.
Mogur:
Los desarrolladores de Untold Legends dicenque están usando los siete SPE para el juego, y de hecho en ese artículo se puede leer como toda la física la llevan los SPE (como mencioné antes).
Hola Francisco,
El tema de los algoritmos de captación, no son tema menor!... ni muchísimo menos, de hecho suele ser secreto los algoritmos en los procesadores de proposito general INTEL, AMD... sin tener en cuenta que la SPU de algoritmos de prediccion de saltos nada de nada y no estamos hablando de unos cuantos ciclos de reloj... estamos hablando de muchíisimos ciclos perdidos en ir a buscar cosas a memoria. Es por eso que, como tu dices, las SPU (SPE + DMA) serviran sobre todo para temas de física y gestión de cosas muy concretas, como la ropa de los jugadores en NBA2K7 o la ropa en Untold Legends, el agua... etc.
El tema de Mark Reid va más alla de lo que dijo y se ve perfectamente en el foro que posteé, no entrare demasiado en lo que se puede extraer de sus palabras, cada uno que saque sus conclusiones.
Por otro lado, John Carmack no es precisamente un novato en el tema, por no decir que es el creador e impulsor de todo un genero y sus palabras se toman muy enserio en el mundillo de los juegos, no creo que su problema sea que no sabe hacer cosas para consola, sino de si le es rentable hacerlo.
Dejas de lado a Jade (Ubisoft) y sus comentarios sobre la IA...
Son solo tres ejemplos que no son menores, estoy de acuerdo en que hay más compañias que no dicen nada y que son muy importantes.
Con todo, que conste, que creo que la PS3 tiene un recorrido bastante largo como dice Mogur y tendrá un éxito muy grande, a pesar de que a muchos desarrolladores les de dolor de cabeza hacerlo.
Saludos,
Por cierto Francisco, gracias por el artículo de la Preview del Untold Legend, no lo habia leido, es muy interesante.
jmslay, los algoritmos de captación de caché en procesadores intel y AMD son complicados porque deben ser eficientes para la mayoría de algoritmos, al ser CPUs de propósito general. No es lo mismo programar uno especializado en cargar datos de tipo vectorial usando strides que tener que pensar en la carga de instrucciones, datos divididos y demás todo en la misma CPU.
Los SPE sí tienen predicción de saltos de tipo estática (es decir, controlada por el compilador) como se puede leer al final de este artículo. Es muy parecida a la detección de saltos del Itanium.
Lo de Mark Reid, pues me dejas con la duda, porque no veo dónde pone en duda las prestaciones de la PS3. Si tienes alguna otra declaración suya a ese respecto, no dudes en indicármelo.
Si, es cierto que la predicción de salto estática (por compilador) es lo único que tienen, aunque en realidad deja mucho que desear. Dejarselo al compilador es una tarea muy compleja y dependes totalmente de lo que hagan los programadores.
Lo que es indudable es que es mejor tener prediccion estática + prediccion dinámica... y de eso no cuenta el CELL.
Hola, son muy interesantes los comentarios y tambien el articulo, pero en mi opinion sois muy optimistas en lo de que tienes 8 SPEs.
Ya que un procesador CELL 100% funcional tiene 8 SPEs, pero hay rumores de desarrolles de recibir directrices de no programar para 8 SPEs, ya que no todos van a ser funcionales y me explico.
Las cadenas de produccion de circuitos son muy complejas. Y no todos los procesadores de cada pastilla funcionan al 100%, de modo que Sony para abaratar costes (ya sabeis para que no subiera mas el precio de 500$ por blu-ray) esta utilizando procesadores "residuales" de los cuales los 8 SPEs no son totalmente funcionales.
Recordais aquellos 486 con el coprocesador matematico inhabilitado (por defecto de fabricacion) que se vendian como gama mas baja?
Con esta exposicion, quiero apollar a la hipotesis de que la PS3 no va a ridiculizar a la 360 en cuanto a potencia se refiere como Sony anuncio.
Sí, es cierto lo que dices Emilio. En realidad, por lo que parece, solo estan disponibles siete de los ocho SPEs (precisamente por lo que tu comentas) pero la situación cambia poco ;), y la dificultades siguen siendo practicamente las mismas. Por otro lado, si que es cierto que perderá potencia con respecto a uno de ocho SPEs.
Saludos
Emilio, no es que haya rumores, es que hace ya tiempo se dijo que sólo serían funcionales 7 de los 8 núcleos SPE, debido al alto número de transistores de un Cell (que multiplica las posibilidades de un fallo de fabricación).
En fábrica se deshabilita uno de ellos para aumentar el número de pastillas fabricadas funcionales, ya que de lo contrario habría que descartar toda la pastilla por un único fallo en un SPE.
Así que no es sólo que se usen procesadores "residuales", es que aunque el procesador salga completamente bien se desactivará un SPE.
También hay que tener en cuenta que en todo procesador siempre hay problemas de fabricación al principio, hasta que se mejora el proceso. En el caso del Cell la fabricación es más compleja y necesitaban muchas unidades listas para el lanzamiento de la PS3, así que optaron por esta opción para aumentar el número de unidades producidas.
Soy estudiante de informática en Barcelona y debido a la proximidad del supercomputador Marenostrum os puedo comentar algunas observaciones que me han hecho programadores que están trabajando con CELL para adaptarlo a la supercomputación (CELL no incorpora FPU). Según estas fuentes, programar en CELL es auténticamente un suplicio debido a todos los recursos de sincronización y el cuello de botella que se forma entre todas los cores.
Gracias nakashima :), desde luego es informacion de primera mano... si pudieras dar mas detalles?...
¿Como es que se han hecho de CELL tan pronto?
Saludos,
Tener mejores graficos no depende tanto de la cpu, sino de la gpu y en eso la 360 le da un buen repaso a la ps3.. unido a que presenta mas memoria disponible para dicho proposito.
El cell como cpu en si me parece una maravilla pero para nada lo veo muy util en el tema de juegos.. Es mucho mejor disponer de 3 cores doble hilo dando funcion de 6 a la misma velocidad, compatible a las mismas operaciones y completamente simetricas entre si a tener un caos en hardware como posee la ps3, encima ps3 usa memorias de diferente tipo y frecuencia de bus.. cosa ilogica..
La xbox 360 esta mucho mejor pensada, ademas que es el standard de futuro para los futuros sistemas por ello microsoft la ha diseñado asi. Y eso de que comentan que en un futuro ps3 pegara un gran salto, xbox 360 en un futuro pegara tb un gran salto y resumo diciendo que la gpu de xbox 360 es el futuro por donde iran las graficas.. me refiero a la arqitectura unificada de shader pipelines mas la embedded DRAM, cosa que no posee ps3..ademas sus 48 alus ponen al grafico de xbox 360 en una situacion muy ventajosa frente al de ps3..
Asi que para mi ps3 es altamente mas complicada de programar y encima nula ventaja tecnica, es mas, a mi modo de ver me parece mejor xbox 360.
S2
Es cierto que los graficos dependen de una GPU en mayor proporción que una buena CPU, sin embargo, una buena CPU será definitiva en la física del juego, física que después tendrá que renderizar (mejor o peor) la GPU y que es la que da realismo a los juegos (IA, física... etc, etc).
No tengo tan claro como tu que la "defunción" de la PS3. :D
Saludos,
J.M.
Pues por lo que sé y creo que no estoy para nada exagerando, la gente del BSC (Barcelona Supercomputing Center) llevan trabajando con CELL almenos seis meses. En mi visita al interior de Marenostrum pude ver con mis propios ojos el armario de CELL que tenían. Una fuente muy fiable (uno de mis profesores) me explicó que si conseguían integrar la FPU a CELL conseguirían obtener con un armario de CELL la misma capacidad de cálculo teórica que todo el Marenostrum en sí mismo. A mí me dejó con la boca abierta. Ya hablé de este tema en mi blog.
pero entonces quiere decir que en cualquier caso las graficas del x360 seran mejores que las del play station 3 a causa del mayor numero de memoria o hay alguna salida para la ps3?
POR FAVOR YA QUE HABLÁIS DEL JUEGO 'BLACK'. HACER EL FAVOR DE PROBARLO EN LA XBOX Y EN LA PS2....VERÉIS PORQUÉ LA XBOX ES MEJOR NADAMÁS VEÁIS LA PRIMERA ARMA.LA PLAYSTATION ES BASURA...SOLO MARKETIN' Y TERRENO GANADO.UNA PENA
Estoy indeciso entre comprarme la xbox 360 y la ps3
las dos son mu wenas
pero 600 € ke cuesta la ps3 es un paston
vosotros cual compraríais?
si quieren ver gameplay de ps3 metanse a esta pagina
http://www.youtube.com/watch?v=IuEzSVrRnEU
En ecuador la cosa se pone color de hormiga, xbox 360 cuesta al rededor de 700 dolares y la ps3 como 900 a 1000 dolares, si tuvieran el dinero para comprearse una de estas fabulosas consolas cual de ellas comprerian????, cuales son las ventajas, y diferencias de cada una de las consolas y sobre todo cual a su paracer es la mejor consola???, he leido sus opiniones y en verdad creo que estoy con un grupo de profecionales en el tema. espero que me respondan
Gracias
En el ecuador la guerra recien comienza sobre todo porque los preciosa son altos, la xbox 360 cuesta entre 600 y 700 dolares y la ps3 900 y 1000.
1.- Si tuvieran el dinero cual de estas dos consolas comprarian ustedes??
2.- Cual es para ustedes la mejor consola de video juego y porque?
Gracias por su ayuda
Despreciar la opinion de un experto programador desde hace muchos años, que rescato del olvido un algoritmo de particion binaria para aplicarlo al renderizado de juegos (doom), y mas tarde reutilizarlo para la ordenacion de niveles y entidades (quake), me parece realmente patetico.
Programar una consola, y mucho mas hoy en dia, no es una gran diferencia respecto a un pc. Asi que si un programador como el insinua cosas asi, yo personalmente me lo creo.
Encima lo del marenostrum.
Todos los rumores de gente con experiencia...
Es que somos ciegos?? cuando el rio suena agua lleva...
Yo creo que la ps3 tiene una potencia teorica impresionante, y una potencia real algo menor pero aun asi bastante alta. Sin embargo, para juegos, este modelo no es tan "facilmente" aplicable. Por eso los problemas de programacion para la ps3.
Esto no quiere decir que sea una mierda, es probable que acabe siendo mas potente que la xbox360; pero pagar casi el doble por un rendimiento yo estimo que maximo un 10% mas, me parece de fanboy. Ademas ahora mismo tiene un catalogo realmente ridiculo.
Estoy harto de los seguidores de la play, la defienden a ultranza. Puede que sea potente la consola, pero no va a ser la mejor hasta que no lo demuestre, y por ahora solo ha demostrado ser cara.
Acabando, si YA TIENES un algoritmo de IA implementado, entonces solo cuenta la cpu, y esto es lo que critican los de Assassins creed. Hay que tener en cuenta que las cosas cambiaran cuando saquen un buen juego para ps3 optimizado, y lo porten para xbox, a ver que tal va...
P.D.: Ha sido una buena entrada en el blog ;)
A LOS K SE AN COMPRADO LA PS3 O BIEN POR IGNORANTES Y TENER FE CIEGA EN ALGO EN LO KE NO PUEDE SER, O BIEN PK LES GUSTA MAS (ai gustos para todo), YA PODEIS TIRAR LA PS3 A LA BASURA...
MUXOS (por no decir todos) ESTAIS DICIENDO KE CON EL TIEMPO LOS PROGRAMADORES APRENDERAN A ACER JUEGOS CON MEJORES GRAFICOS,,,, FALSO! Y AORA MUXO MAS FALSO, SERIA MUXO MAS DIFICIL, CARO Y TRABAJOSO ACER LAS HERRAMIENTAS DE DESARROLLO PARA ESE OCTOCORE KE ES LA PS3 (y un core no funciona entre otros defectos...) KE CREAR LA PS3 EN SI, POR ESO MISMO NO AI ERRAMIENTAS NI NADA PARECIDO Y SI AUN CREEIS K CON EL TIEMPO LAS ABRÁN, ¡SONY A VENDIDO LAS FABRICAS DE CELL A TOSHIBA! ASÍ.. COMO DICIENDO AMOS A ACER OTRA!... PUES SI SEÑORES, PARA COLMO EN EN 3 AÑOS ABRÁ OTRA PS4... OLVIDENSE DE LA PS3 K YA ESTA MUERTA... NUNCA ABIA VISTO UNA GENERACIÓN TAN ASKEROSA COMO ESTA,,, LA XBOX SE ROMPE,, LA PS3 ES UN DESTROZO EN SI Y LA WII AL KE LE GUSTE BIEN, PERO ES UNA ESTUPIDEZ K ME ABURRE MAS KE OTRA COSA...
ADIOS
Por favor, que la gente ignore este último comentario.
De Trolls está lleno el mundo de los foros, y mucho más el mundo de los video-juegos.
Update:A lo largo de artículo comento las características técnicas que el CELL debería haber tenido. Son 3,2Ghz en vez de 4Ghz y Siete (7) SPE, uno de ellos usado como unidad de ejecución del sistema operativo.
Lo que comentas en tu update, es totalmente correcto, salvo que se añadieron esas características como prevención, ejemplo un procesador extra por si acaso alguno saliera defectuso. Es como en los motores de 10 y 8 cilindros actuales, que llevan un sistema para que si por alguna razón tu motor tiene un incremento de temperatura, el motor trabaja con 2 cilindros menos cada vez, para así evitar que se desviele.
Ja!, me da gusto ver un blog así de completo y que no vague en suposiciones. Felicitaciones y suerte.
yo creo que la ps3 supera la basura de xbox360 y es por que la xbox su dise~no es horrible y se da~na rapido... la ps3 es la consola menos vendida es obvio por que es la mas cara...
algunos juegos de ps3 como final fantasy 13 y metal gear solid 4 que iban aser solo para ps3,pues no es verdad,square enix los creadores de final fantasy 13 y konami los creadores de metal gear solid 4 anunciaron que tanbien va a salir para xbox 360.estoy muy desescionado por eso...final fantasy y metal... en xbox 360 se prestaron...I hate the xbox...
son tan graciosos porque no dejan de engañarse a si mismos la superioridad tecnica de la ps3 frente a la 360 es clara , real y evidente otra cosa es que los que solo pueden permitirse pagar 180 e por una maquina no lo acepten mirense la ficha tecnica de cada maquina y juzguen, otra cosa es que para semejante potencia la ps3 no este nada provechada, pero eso no quita que le da un palizon a la 360 los extras que tiene la wii y no tiene la 360 o viceversa los tiene todos la ps3 no hay duda la ps3 es MUCHISIMO mejor maquina que cualquier otra hoy dia le pese a quien le pese, nadie da duros a 4 pesetas por eso es la mas cara a si que dejen de aburrir con cuentos chinos intentando autoconvenserse a ustedes mismos y a otros 4 ignorantes que se dejanconvenser
Publicar un comentario en la entrada