DDR3 (Xbox One) vs GDDR5 (PlayStation 4)
PlayStation 4 a 1080p y Xbox One a 720p, la pol¨¦mica est¨¢ servida. ?Cu¨¢les son los motivos de las limitaciones de la consola de Microsoft? En este art¨ªculo te desgranamos todos los detalles para que compares ambas m¨¢quinas y el futuro que tienen por delante.
Se ha creado mucha controversia alrededor de las limitaciones en la resoluci¨®n de Xbox One y lo potencialmente desacertado de incluir memoria DDR3 frente a la opci¨®n de Sony para PlayStation 4, GDDR5. En este reportaje vamos a intentar desgranar qu¨¦ implicaciones reales tiene cada una de las arquitecturas y qu¨¦ hay de cierto en los problemas de la plataforma de Microsoft para conseguir los 1080p. Antes de empezar, queremos realizar un par de aclaraciones. No queremos entrar en demasiados detalles t¨¦cnicos para que la informaci¨®n aqu¨ª expuesta sea digerible por todo tipo de lectores. Es posible que debido a las simplificaciones que realicemos caigamos en algunas imprecisiones, por lo que sent¨ªos libres de puntualizar y expandir en los comentarios los datos que demos. No obstante, el art¨ªculo sigue siendo algo denso y conviene leerlo con calma. Por otra parte, la mayor parte de la argumentaci¨®n est¨¢ basada en asunciones venidas del mundo del PC, filtraciones y comentarios p¨²blicos tanto de desarrolladores como de responsables de Microsoft y Sony. En ¨²ltimo t¨¦rmino, los que de verdad conocen y pueden comparar el rendimiento de ambas plataformas son los estudios de videojuegos, y hay lugar a que la realidad del hardware de ambas m¨¢quinas sea algo distinta de lo que hemos podido deducir nosotros.
Hechas las aclaraciones oportunas, podemos entrar en materia. Para intentar entender qu¨¦ funci¨®n tienen los distintos tipos de memoria RAM existentes, debemos explicar primeramente la arquitectura b¨¢sica de un PC. En un ordenador contamos generalmente con los siguientes elementos: una CPU (procesador principal), una GPU (procesador gr¨¢fico), memoria RAM principal (hoy en d¨ªa tipo DDR3), memoria RAM gr¨¢fica (hoy en d¨ªa tipo GDDR5) y un disco duro. Para procesar la informaci¨®n, ¨¦sta debe llevarse del disco duro a la memoria RAM, y de ah¨ª a la CPU, y en este camino cada interviniente es varias ¨®rdenes de magnitud m¨¢s lento que el anterior. As¨ª, cargar la informaci¨®n del disco duro es claramente m¨¢s lento que desde la memoria, pero a su vez el procesador siempre tiene que esperar por esta ¨²ltima. En una consola las cosas no son muy distintas. Hasta la nueva generaci¨®n que acaba de empezar, el disco duro se puede considerar sustituido por el disco ¨®ptico. Los lectores de DVD y los Blu-Ray son netamente m¨¢s lentos que un disco duro (especialmente en PlayStation 3), as¨ª que los desarrolladores optaron por las instalaciones siempre que fuera posible, pero en el fondo estamos hablando de lo mismo.
Un detalle relevante a tener en cuenta es el hecho de que una consola se ve limitada por la memoria RAM del sistema, ya que no pueden contar con un almacenamiento temporal de nivel superior. Por tanto, las pantallas de carga son imprescindibles para extraer con anterioridad la parte fundamental de la informaci¨®n del disco necesaria para el nivel o mapa que se va a jugar y llevarla a memoria. Eso es algo que no ocurr¨ªa con los cartuchos, dado su acceso mucho m¨¢s inmediato a los datos. No obstante esto no es un problema tan relevante como resulta en el mundo del PC, por el mero hecho de que un juego no tiene que competir por recursos con otras aplicaciones (aunque si bien en las nuevas consolas esto s¨ª sucede, en realidad los desarrolladores ya saben qu¨¦ porcentaje del total de los recursos de la m¨¢quina pueden emplear sin miedo). En los ordenadores, para paliar la carencia de memoria RAM se emplea la llamada memoria virtual que guarda temporalmente informaci¨®n en el disco duro que deber¨ªa estar en la RAM pero no cabe, y se rescata cuando una aplicaci¨®n la necesita. El uso del disco duro por parte de los juegos es nulo o limitado a casos muy especiales en las consolas que lo permiten, como almacenar repeticiones temporalmente, adem¨¢s de obviamente las partidas guardadas.
En cualquier caso, como coment¨¢bamos, con o sin disco duro, la memoria RAM supone un cuello de botella para el procesador. Para solventar este problema se inventaron las cach¨¦s. Se trata de memorias intermedias muy peque?as y muy r¨¢pidas a las que accede el procesador en lugar de ir directamente a la memoria principal. Las hay de varios niveles, cada nivel m¨¢s grande y m¨¢s lento que el anterior, se pueden separar por n¨²cleos o ser compartidas e incluso las hay de distintos tipos, para datos y c¨®digo. Siempre que no hay un dato en la cach¨¦, inevitablemente el sistema tiene que irse a la memoria principal a buscarlo. Existen mecanismos complejos de predicci¨®n que permiten traer de golpe m¨¢s informaci¨®n que potencialmente se va a usar en lugar de s¨®lo el dato pedido, aunque eso queda totalmente fuera del objetivo de este art¨ªculo. Las GPUs no difieren mucho en este sentido, tienen igualmente peque?as unidades de computaci¨®n (o CUs por su siglas en ingl¨¦s), comparables hasta cierto punto (y con muchas comillas) con los n¨²cleos de una CPU. Cada CU cuenta con una cach¨¦ llamada LDS (Local Data Storage, Almacenamiento Local de Datos) o LSM (Almacenamiento Local Compartido) y puede tener igualmente una o varias cach¨¦s de nivel superior para todos los CUs.
DDR3 vs GDDR5
Una de las principales diferencias entre DDR3 y GDDR5 estriba precisamente en el acceso a memoria principal cuando un dato no est¨¢ en la cach¨¦. La latencia es el tiempo que tarda en llegar un dato desde que se pide hasta el que procesador dispone de ¨¦l. No debe confundirse con la velocidad. Para ilustrar esto siempre viene bien el ejemplo del sat¨¦lite y el m¨®dem. Una conexi¨®n v¨ªa sat¨¦lite es potencialmente capaz de transmitir muchos m¨¢s datos por segundo que un antiguo m¨®dem telef¨®nico. Sin embargo, hasta que el primer bit llega a nuestra m¨¢quina pueden pasar varios segundos si se trata de un sat¨¦lite (teniendo que subir al espacio y luego rebotar) o apenas unos cientos de milisegundos por la l¨ªnea telef¨®nica. Para los jugadores, es b¨¢sicamente el llamado "ping" o tiempo de respuesta. Una memoria DDR3 suele tener una latencia (medida en nanosegundos) ligeramente menor que una memoria GDDR5. Esto es muy relevante en el mundo del PC porque la multitarea impone estar cambiando continuamente entre procesos y el acceso a memoria principal es mucho m¨¢s aleatorio. A su vez, una CPU no suele realizar un consumo masivo de informaci¨®n al nivel de una GPU, que tiene que lidiar con grandes texturas. Por tanto, mientras que la latencia es un factor importante para una CPU, la velocidad lo es m¨¢s para una GPU.
Como decimos, la latencia no es un elemento determinante en una consola de videojuegos. Dado que el juego tiene un control relativamente absoluto de la m¨¢quina mientras se est¨¢ ejecutando, es mucho m¨¢s sencillo solventar carencias en este sentido y a la vez no tener que padecerlas. Adem¨¢s, seg¨²n estimaciones y filtraciones iniciales, la latencia en PlayStation 4 a priori no es significativamente superior a la de Xbox One, pese a los distintos tipos de memoria empleados. Esto podr¨ªa deberse a que el ancho de banda de Xbox One es de 256 bits frente a los habituales 64 bits de un PC (algo que explicaremos m¨¢s adelante) o quiz¨¢ simplemente por los chips en concreto que lleva cada una, pero en cualquier caso aparentemente no estamos ante una ventaja de la consola de Microsoft. En una entrevista con Digital Foundry, el propio Mark Cerny, arquitecto jefe de PS4, rebaj¨® igualmente la importancia de la latencia. "La latencia en GDDR5 no es particularmente mayor que en DDR3. Adem¨¢s, las GPUs est¨¢n dise?adas para ser extraordinariamente tolerantes a la latencia as¨ª que no pienso que vaya a ser relevante".
L¨®gicamente, la mayor ventaja de la memoria GDDR5 es su velocidad frente a DDR3. Ambas se miden en megahercios, aunque hay cierta confusi¨®n al respecto. Los megahercios son b¨¢sicamente tics de reloj por segundo, se pueden visualizar muy f¨¢cilmente imaginando una onda cuadrada subiendo y bajando muy r¨¢pidamente, como en un osciloscopio. Lo que hace especial a la tecnolog¨ªa DDR es que aprovecha tanto la subida como la bajada para transmisi¨®n de datos (de ah¨ª el nombre, Double Data Rate, o Doble Ratio de Datos). De este modo, una memoria DDR de 1000 megahercios es en realidad capaz de transmitir 2000 millones de datos por segundos, y en algunos lugares se especifica como una memoria de 2000 megahercios. Lo que hace especial a la tecnolog¨ªa GDDR es que puede tanto escribir como leer en una subida y una bajada de manera concurrente, con lo que cuadruplica la velocidad, frente a DDR que s¨®lo puede o leer o escribir, pero no ambas a la vez. En el caso comentado, podr¨ªamos ver que se trata de una memoria de 4000 megahercios. La confusi¨®n realmente surge del hecho de que en ocasiones, aunque t¨¦cnicamente mal, se aplica la unidad de megahercios a esa cantidad, y en otras se suele hablar de n¨²mero de operaciones por segundo.
Tambi¨¦n hay que tener en cuenta el ancho de banda, que es la cantidad de informaci¨®n que se transmite en cada ciclo de reloj. En los ordenadores el ancho de banda generalmente es de 64 bits para la memoria DDR (ya que va a la CPU, que suele ser de 64 bits) y de 128 o 256 bits para GDDR. Esto quiere decir que a igual velocidad, la memoria GDDR no s¨®lo podr¨ªa transmitir el doble por su capacidad de hacer escritura y lectura simult¨¢nea, sino que a su vez puede enviar datos m¨¢s grandes. Si quer¨¦is entrar en m¨¢s detalles sobre las nomenclaturas pod¨¦is empezar por el art¨ªculo de la Wikipedia sobre las memorias DDR donde hacen los c¨¢lculos teniendo en cuenta tanto la velocidad de reloj como el ancho de banda. De todos modos, como ejemplo r¨¢pido, podemos ver cu¨¢nto podr¨ªa transmitir una memoria DDR3 PC3-8500. Sabiendo que el reloj es de 533 Mhz, puede transmitir 1066 millones de datos por segundo (el doble al ser DDR y millones ya que hablamos de megahercios, no hercios). Teniendo un ancho de banda de 64 bits, eso nos da 8 bytes por dato (1 byte son 8 bits). Unas sencilla multiplicaci¨®n nos da el dato final: 1066 x 8 = 8530 MB/s. Es decir, PC3-8500 como nombre comercial.
Y¨¦ndonos a las pr¨®ximas consolas, y bas¨¢ndonos principalmente en filtraciones y posteriores confirmaciones oficiales, Xbox One cuenta con 8 GB de RAM de tipo DDR3-2133. El ancho de banda es de 256 bits en este caso, con lo que 2133 x 32 = 68256 MB/s. Es decir, 68.3 GB/s. Por su parte PlayStation 4 tiene una memoria de 8 GB de RAM de tipo GDDR5-5500 e igualmente 256 bits de ancho de banda, lo que se traduce en 176 GB/s. Como podemos ver, la memoria de PS4 vendr¨ªa a ser m¨¢s del doble de r¨¢pida que la de One, siempre hablando de cifras m¨¢ximas te¨®ricas. Y aqu¨ª es donde entra en juego la famosa eSRAM. Para ponernos en contexto, cabe repasar la arquitectura de las m¨¢quinas de la a¨²n actual generaci¨®n. Xbox 360 cuenta con 512 MB de memoria unificada (sorprendentemente) de tipo GDDR3. Por su parte, PlayStation 3 tambi¨¦n tiene 512 MB, pero divididos en dos bloques de 256 MB. Uno de ellos es de tipo XDR, una alternativa a DDR, mientras que el otro es GDDR3 para la tarjeta gr¨¢fica de NVIDIA. El hecho de que la memoria sea unificada tiene m¨²ltiples ventajas (como el coste), aunque una b¨¢sica es la flexibilidad que da a los desarrolladores para usarla como m¨¢s les interese.
A sus 512 MB, Xbox 360 sumaba una peque?a memoria de tipo eDRAM de 10 MB para tareas gr¨¢ficas, m¨¢s r¨¢pida que la memoria principal. Podr¨ªa considerarse una megacach¨¦ que los programadores gr¨¢ficos podr¨ªa emplear como les interesase. Una de las utilidades m¨¢s comunes fue de copia del framebuffer, para efectos de postprocesado sobre toda la imagen (como el antialiasing o el HDR). El framebuffer es la zona de memoria donde se guardan los p¨ªxeles que realmente se est¨¢n pintando en pantalla y es el resultado final de todo el proceso gr¨¢fico, aunque en juegos 3D es algo m¨¢s complejo y no guarda simplemente informaci¨®n de colores por puntos. Generalmente esa informaci¨®n est¨¢ en la memoria principal de la tarjeta gr¨¢fica, aunque existen distintas posibilidades y arquitecturas. El hecho de poder tener una representaci¨®n entera de la pantalla en una cach¨¦ m¨¢s veloz es sin duda una gran ventaja, pero existe un problema, la resoluci¨®n 720p no cabe en 10 MB, sino algo m¨¢s pr¨®ximo a 640p, como ocurr¨ªa en Halo 3. Si bien es posible no usar de ese modo la memoria eDRAM, con ello se pierde su principal atractivo. Eso s¨ª, hemos de puntualizar que la expresi¨®n "no cabe" es algo m¨¢s compleja que eso, ya que depende de la informaci¨®n por p¨ªxel que cada motor necesite para renderizar la imagen, pero ser¨ªa algo complejo explicarlo aqu¨ª.
La memoria eSRAM de Xbox One es una evoluci¨®n del concepto de la memoria eDRAM de Xbox 360. Ampliada a 32 MB, tiene menor latencia y puede usarse f¨¢cilmente en conjunci¨®n con la memoria principal. Realmente podr¨ªan haber optado por memoria tipo eDRAM igualmente, posiblemente m¨¢s veloz, pero t¨¦cnicamente era m¨¢s complicado incluirla en el mismo chip que la CPU y la GPU. Respecto a la memoria eSRAM, su velocidad te¨®rica se estimaba inicialmente en 109 GB/s, aunque Microsoft corrigi¨® esos c¨¢lculos e indic¨® que era en realidad era el doble, 218 GB/s, aunque en la pr¨¢ctica se quedar¨ªa en unos 140 GB/s. ?D¨®nde est¨¢ el problema entonces? Que los 32 MB ahora son suficientes para 720p, pero no para 1080p. No s¨®lo eso, mientras que en Xbox 360 la eDRAM era una ayuda, en eSRAM se convierte en una obligaci¨®n debido a la elecci¨®n de memoria de Microsoft. Eso supone, ni m¨¢s ni menos, que una desventaja frente a PlayStation 4 y su arquitectura m¨¢s sencilla y similar a un ordenador. En la pr¨¢ctica se traduce en que los desarrolladores deben aprender a utilizar la memoria eSRAM para sacarle todo el jugo a Xbox One, u optar por la v¨ªa f¨¢cil y continuar con los 720p.
?Por qu¨¦ DDR3 en vez de GDDR5?
Es la pregunta del mill¨®n, y los ¨²nicos realmente capaces de responderla son los ingenieros de Microsoft. Hay diversos factores que podr¨ªan haber influido, si bien todo son suposiciones. Es posible que imaginaran que la combinaci¨®n DDR3 + eSRAM ser¨ªa suficiente, y no anticiparon tanta oposici¨®n de parte de los desarrolladores frente a la arquitectura simplificada de Sony. Al fin y al cabo, se trata de una continuaci¨®n de la arquitectura de Xbox 360 y los estudios deber¨ªan estar suficientemente familiarizados con ella. Cabr¨ªa argumentar en contra, aunque sin saber si ¨¦ste es el motivo de queja principal de los desarrolladores, que independientemente de la eDRAM, Xbox 360 incorporaba igualmente memoria gr¨¢fica como memoria principal.
Otro motivo muy plausible para optar por DDR3 es el hecho de que GDDR5 consume m¨¢s energ¨ªa y genera m¨¢s calor, lo que exige un dise?o m¨¢s cuidadoso para evitar problemas de sobrecalentamiento. Dado lo escarmentaba que estaba Microsoft con los problemas de Xbox 360, posiblemente decidieran optar por un dise?o m¨¢s equilibrado. A esto respecto, Nick Baker, el jefe del equipo de hardware de Microsoft, comentaba en una entrevista con Digital Foundry que "en t¨¦rminos de conseguir la mejor combinaci¨®n possible de rendimiento, tama?o de memoria, consumo, GDDR5 no es lo m¨¢s adecuado. La memoria eSRAM consume muy poco y tiene la oportunidad de darte un ancho de banda muy elevado. Puedes reducir el ancho de banda en la memoria externa ¨C eso ahorra enormemente en el consumo de energ¨ªa y adem¨¢s los chips de memoria son m¨¢s baratos, con lo que puedes permitirte m¨¢s. ?se es el verdadero motivo tras la decisi¨®n. Si quieres una memoria de gran capacidad, un consumo relativamente bajo y un gran ancho de banda no hay muchas maneras de resolverlo".
Por tanto, queda claro que tampoco hay que desde?ar el factor coste, ya que las memorias GDDR5 son claramente m¨¢s caras, entre otros motivos porque hay menos demanda de dicha tecnolog¨ªa. De hecho, Sony eligi¨® inicialmente s¨®lo 4 GB de RAM para su m¨¢quina, aunque finalmente duplic¨® esa cantidad. De acuerdo con diversos rumores, tanto por cuestiones t¨¦cnicas como econ¨®micas, era inviable incluir 32 m¨®dulos de 256 MB en la consola, que sumar¨ªan los 8 GB de RAM. Por suerte para la compa?¨ªa nipona, los m¨®dulos GDDR5 de 512 MB que no exist¨ªan hasta la fecha llegaron a tiempo y pudo rectificar, satisfaciendo las peticiones de los estudios de desarrollo. Si una de las m¨¢quinas llevara la mitad de memoria que la otra, por mucho que ¨¦sta fuera m¨¢s r¨¢pida, si hubiera visto bastante lastrada. M¨¢s a¨²n teniendo en cuenta que la porci¨®n que se llevase el sistema operativo de esa cantidad hubiera sido mucho m¨¢s significativa. Pero incluso habiendo conseguido los 8 GB con los mencionados m¨®dulos de 512 MB, la diferencia de precio sigue siendo apreciable. Seg¨²n estimaciones de la consultora IHS, la memoria de PlayStation 4 son unos 88$, mientras que la memoria de Xbox One ronda los 60$. Aunque siempre hay que coger esas cifras con pinzas, al no tratarse de datos oficiales, no se trata de una diferencia peque?a considerando las cantidades en las que se mueven los precios de las consolas. Gracias a esto, Microsoft tiene potencialmente un mayor margen para rebajar el precio de Xbox One en el futuro, aunque una parte importante se la siga llevando Kinect.
Si bien podr¨ªamos entender las argumentaciones de Microsoft sobre una m¨¢quina balanceada, a¨²n cabr¨ªa hacerse una pregunta: ?por qu¨¦ s¨®lo 32 MB? ?Por qu¨¦ no conseguir el suficiente tama?o para permitir 1080p? Se estima, a grandes rasgos, que unos 48 MB podr¨ªan haber sido suficientes en la mayor¨ªa de los casos, lo que no es una cantidad muy superior, siempre y cuando la eSRAM se dedicase en exclusiva al framebuffer. El motivo de la limitaci¨®n parece ser debido a que por desgracia Microsoft no fue capaz de introducir m¨¢s capacidad en el mismo chip sin, al mismo tiempo, comprometer el tama?o de la CPU y la GPU, reduciendo su potencia. Con lo que, vistos los juegos de lanzamiento, la resoluci¨®n m¨¢xima de Xbox One s¨®lo sirvi¨¦ndose de la eSRAM rondar¨ªa los 900p, aunque por comodidad muchos desarrolladores habr¨ªan optado por 720p. No obstante, Andrew Goosen, el arquitecto jefe en cuanto a software en Xbox One, piensa que es una cuesti¨®n de flexibilidad. ¡°Hemos decidido dejar a los desarrolladores hacer el intercambio entre resoluci¨®n vs calidad por p¨ªxel en la manera que sea m¨¢s adecuada para el contenido de sus juegos. Una resoluci¨®n m¨¢s baja generalmente significa que puede haber m¨¢s calidad por p¨ªxel. Con un escalador de gran calidad, antialiasing y resoluciones como 720p o 900p, algunos juegos lucen mejor con m¨¢s procesado de la GPU por p¨ªxel. Hemos construido Xbox One con un escalador de mayor calidad que en Xbox 360, y a?adido un plano de pantalla adicional [los juegos pueden tener distintos planos de pantalla para por ejemplo los elementos de la interfaz y el juego en s¨ª, que luego se fusionan], para dar m¨¢s libertad a los desarrolladores en esta ¨¢rea. Esta cuesti¨®n sobre decisiones fue una lecci¨®n que aprendimos de Xbox 360 cuando en el lanzamiento ten¨ªamos un Requerimiento T¨¦cnico de Certificaci¨®n [TRC] que ordenaba que todos los t¨ªtulos deb¨ªan ser 720p o mejores con al menos 2x antialiasing ¨C y terminamos eliminando ese TRC cuando nos dimos cuenta de que era mejor permitir a los desarrolladores tomar esa decisi¨®n ellos mismos. Los desarrolladores de juegos esta incentivados de manera natural a hacer los gr¨¢ficos de mayor calidad posible as¨ª que elegimos el intercambio m¨¢s adecuado entre calidad por p¨ªxel vs n¨²mero de p¨ªxeles para sus juegos¡±.
Resulta tambi¨¦n interesante hacer el ejercicio opuesto: ?qu¨¦ llev¨® a Sony a elegir GDDR5? En una charla en la edici¨®n de este a?o de Gamelab en Barcelona, Mark Cerny explicaba los motivos de esta decisi¨®n. El v¨ªdeo completo de esa conferencia lo ten¨¦is sobre estas l¨ªneas y es interesante de principio a fin, aunque la parte que vamos a mencionar est¨¢ alrededor del minuto 39. En ¨¦l, Cerny menciona dos posibles arquitecturas para PlayStation 4 en lo que a la memoria se refiere. En una (a la izquierda de la imagen bajo este p¨¢rrafo) tenemos la opci¨®n final, con un bus de 256 bits y memoria tipo GDDR5, alcanzando los 176 GB/s. En el otro lado nos encontramos con la alternativa, del tipo de la de Microsoft, aunque igualmente usando GDDR5. La diferencia es un tama?o de bus menor, 128 bits, que se traduce en un menor ancho de banda, 88 GB/s, m¨¢s pr¨®ximo a los 68 GB/s que logra Xbox One con DDR3. Es curioso que Sony considerase en cualquier caso GDDR5, pero el problema planteado era el mismo y la soluci¨®n muy similar: emplear una memoria peque?a y muy r¨¢pida de tipo eDRAM (como en Xbox 360) que lograr¨ªa transferencias de hasta 1 TB/s. Es igualmente sorprendente el hecho de que esta posibilidad, descartada por el equipo de Cerny, fuera much¨ªsimo m¨¢s r¨¢pida que la soluci¨®n final de Microsoft.
Con estas dos arquitecturas sobre la mesa, los ingenieros de Sony ten¨ªan que decidir cu¨¢l iba a ser la elegida. En palabras de Mark Cerny, "no quer¨ªan que la consola se convirtiera en un puzle para los desarrolladores". Seg¨²n su opini¨®n, aunque los n¨²meros aparentemente dijeran lo contrario, tener una memoria m¨¢s lenta era mejor que la combinaci¨®n de una extremadamente r¨¢pida y peque?a junto a otra a¨²n m¨¢s lenta que la primera. "En nuestra nueva manera de pensar, la opci¨®n m¨¢s directa en la izquierda es definitivamente ventajosa. Te da un rendimiento excelente en el lanzamiento y nosotros podemos encontrar otras caracter¨ªsticas para que los programadores exploren en a?os posteriores. En otras palabras, puede parecer antiintuitivo, pero 176 es mucho mayor que 1088". En definitiva, consideraron que era mucho m¨¢s importante dar una arquitectura inicialmente sencilla a los desarrolladores que ofrecerles una aparentemente m¨¢s avanzada pero m¨¢s dif¨ªcil de gestionar y aprovechar. Desde luego un giro de 180¡ã frente a lo que fue PlayStation 3, dejando lugar a la mejora seg¨²n se gana experiencia con el hardware, sin que eso suponga un lastre en los primeros juegos. Aqu¨ª es donde entra la computaci¨®n GPGPU de la que tambi¨¦n habla Cerny en el v¨ªdeo y que exploraremos al final del art¨ªculo.
No todo est¨¢ perdido
En los ¨²ltimos a?os se ha desarrollado una t¨¦cnica llamada Tiling y que permite procesar texturas de gran tama?o reduciendo y aumentando el nivel de detalle seg¨²n la distancia de visi¨®n. El concepto en s¨ª no es nuevo, ya se vio en Rage e igualmente existe desde hace tiempo el mipmapping (texturas de diferente resoluci¨®n f¨¢cilmente intercambiables), pero la forma de hacerlo s¨ª es nueva. Explicarlo en mayor profundidad resultar¨ªa muy complejo, por lo que si quer¨¦is m¨¢s detalles pod¨¦is ver el v¨ªdeo bajo estas l¨ªneas, una demo de Microsoft sobre esta t¨¦cnica, disponible en DirectX 11.2 para Windows 8.1. AMD la denomina Partially Resident Textures (o PRT) y forma parte de su arquitectura Graphics Core Next (o GCN), la misma que integran Xbox One y PlayStation 4. Est¨¢ igualmente disponible para OpenGL, con lo que los estudios podr¨ªan potencialmente utilizarla tambi¨¦n en la consola de Sony. El detalle estriba en que la memoria eSRAM podr¨ªa ser especialmente ¨²til en este sentido y, en consecuencia, Xbox One tendr¨ªa un punto a su favor.
En el v¨ªdeo pod¨¦is saltar alrededor del minuto 17:30 para apreciar una demo de esta t¨¦cnica puesta en pr¨¢ctica. La cuesti¨®n crucial es que se trata de algo completamente nuevo que obliga a desarrollar los juegos de un modo distinto, con lo que no se puede esperar que los estudios lo acojan r¨¢pidamente y adapten sus motores de forma inmediata. Pese a que antes hemos dicho que la diferencia en latencia entre DDR3 y GDDR5 no essignificativa, en el caso de la eSRAM s¨ª lo es, en primer lugar porque est¨¢ embebida en el mismo chip que la GPU. Por tanto, PRT podr¨ªa no ser la ¨²nica t¨¦cnica capaz de aprovecharse de esta caracter¨ªstica, y al final lo importante es que los programadores gr¨¢ficos empiecen a acostumbrarse a la arquitectura de Xbox One. Adem¨¢s, la arquitectura de Xbox One permite acceder concurrentemente a la memoria eSRAM y a la memoria principal, con lo que potencialmente se podr¨ªan conseguir esos 48 MBs de los que habl¨¢bamos antes, siempre que la informaci¨®n que se sit¨²e en la memoria principal no est¨¦ sujeta a cambios frecuentes. No estamos, en definitiva, ante una diferencia tan grande como ocurr¨ªa con PlayStation 3 y su Cell, que era realmente especial, y a lo largo del tiempo no deber¨ªamos apreciar una gran diferencia entre las dos consolas de nueva generaci¨®n.
GPGPU, el futuro de la computaci¨®n
Asociar los problemas de Xbox One ¨²nicamente a la elecci¨®n de memoria es probablemente ser demasiado simplista. Seguramente si la eSRAM no estuviera presente, los desarrolladores habr¨ªan lidiado con la memoria principal m¨¢s lenta sin excesivos problemas (aunque posiblemente a costa de gr¨¢ficos algo peores que en PlayStation 4). Sin embargo, ah¨ª est¨¢, y es demasiado jugosa como para no emplearla, ya que puede ayudar enormemente en tareas de postprocesado¡ con el inconveniente de quedarse en la resoluci¨®n 720p. De todos modos, no se trata de la ¨²nica diferencia entre ambas m¨¢quinas. Aparentemente, las CPUs son id¨¦nticas, pero no as¨ª las GPUs. Quiz¨¢ debido a la necesidad de incrustar la eSRAM en el mismo chip que los dos procesadores, Microsoft decidi¨® reducir el n¨²mero de CUs de su GPU, qued¨¢ndose en 12 frente a los 18 de PlayStation 4. A cambio, eso s¨ª, Microsoft fue capaz de aumentar la velocidad de sus CUs, ya que a menos unidades, menor calor generado, dando pie a incrementar la frecuencia. Pese al paso de 800 a 853 megahercios, los desarrolladores comentaron que tal diferencia no ser¨ªa significativa.
Un campo que se explorar¨¢ durante esta generaci¨®n es la llamada computaci¨®n GPGPU (General Purpose computing on Graphic Processing Units, computaci¨®n de Prop¨®sito General en Unidades de Procesado de Gr¨¢ficos). Es muy posible que a muchos os suene el nombre de CUDA, la iniciativa de NVIDIA para dotar a sus gr¨¢ficas de un papel m¨¢s relevante en el mundo de la computaci¨®n, m¨¢s all¨¢ de su tarea primordial, es decir, los gr¨¢ficos. Teniendo en cuenta que se trata de una tecnolog¨ªa propietaria y ¨²nicamente disponible en las tarjetas de esta compa?¨ªa, AMD y otras empresas se asociaron para crear un est¨¢ndar llamado OpenCL. El objetivo en cualquier caso es el mismo, si bien OpenCL tiene mucho m¨¢s futuro porque funciona sobre tarjetas de cualquier fabricante. El concepto es b¨¢sicamente delegar tareas de computaci¨®n a la GPU, en vez de realizarlas en el procesador principal. Ser¨ªa largo y tedioso de explicar por qu¨¦ es una buena idea, as¨ª que resumi¨¦ndolo de forma muy burda: las GPUs son procesadores mucho m¨¢s modernos y dada su fisonom¨ªa mucho m¨¢s aptos para ciertas labores especializadas que las vetustas CPUs x86, dada su gran capacidad de paralelizar tareas con gran n¨²mero de c¨¢lculos matem¨¢ticos.
De ah¨ª surgen las APUs de AMD, chips que combinan CPU y GPU no s¨®lo por ahorro de costes sino por el hecho de que pueden colaborar muy eficientemente. Adem¨¢s, son los ¨²nicos hoy en d¨ªa capaces de proporcionar esta tecnolog¨ªa ya que no flaquean en ninguna de las ¨¢reas, al contrario que Intel y NVIDIA. Este nuevo paradigma de la programaci¨®n consiste en que la CPU va haciendo peque?os "encargos" (t¨¦cnicamente llamados kernels en terminolog¨ªa de OpenCL) a la GPU y ambas pueden f¨¢cilmente compartir informaci¨®n y resultados. No es tan distinto de lo que Sony pretend¨ªa con el procesador Cell, pero much¨ªsimo m¨¢s moderno y estandarizado. En el mundo de los videojuegos se puede aplicar con relativa facilidad a c¨¢lculo de f¨ªsicas relativamente complejas como pelo o ropa. De hecho, AMD promocion¨® su tecnolog¨ªa TressFX de simulaci¨®n de movimiento de cabellos en el ¨²ltimo Tomb Raider, empleando precisamente OpenCL. No es a¨²n un sistema tan complejo y avanzado como PhysX de NVIDIA, pero demuestra por d¨®nde puede evolucionar la tecnolog¨ªa. En este sentido, como decimos, a priori PlayStation 4 vendr¨ªa algo m¨¢s preparada que Xbox One, ya que cuatro de los CUs de su GPU est¨¢n espec¨ªficamente dedicados a OpenCL. No obstante, no sabemos qu¨¦ papel, si alguno, podr¨ªa jugar la eSRAM de Xbox One para facilitar estas labores a la GPU. En cualquier caso, a¨²n tardaremos tiempo en ver c¨®mo los estudios de desarrollo son capaces de sacar provecho a estas oportunidades.
?Y qu¨¦ pasa con la nube?
No queremos ser categ¨®ricos en la cuesti¨®n de la nube, pues apenas est¨¢ comenzando la generaci¨®n e igual nos sorprendemos con las aplicaciones que le pueden encontrar. Sin embargo, s¨ª queremos aclarar algunos puntos para desmitificar qu¨¦ es eso de la nube y cu¨¢les son sus posibles aplicaciones pr¨¢cticas. Hay que tener en cuenta, para empezar, que en este art¨ªculo hemos estado hablando de diferencias relativamente peque?as en velocidades de memoria RAM que se miden en decenas de gigabytes por segundo con latencias de nanosegundos. Las velocidades de las conexiones de Internet, en los mejores casos, se mueven en el rango de decenas de megabytes y decenas o incluso cientos de milisegundos de latencia. Son magnitudes de ¨®rdenes completamente diferentes. Poniendo esto sobre la mesa: ?hay pie a que la nube de un poder extraordinario a Xbox One? A priori dir¨ªamos que no, que eso es algo impensable a d¨ªa de hoy. Pero clarifiquemos esta afirmaci¨®n.
A d¨ªa de hoy servicios como Gaikai, que recordemos compr¨® Sony hace algo m¨¢s de un a?o, procesan los juegos como una consola o un ordenador, s¨®lo que en servidores situados remotamente. La informaci¨®n a transmitir es relativamente peque?a: una imagen de v¨ªdeo en una direcci¨®n y los comandos de control del mando en la otra. M¨¢s que la velocidad en s¨ª, lo relevante es el retardo de la se?al, que situ¨¢ndose de forma constante por debajo de unos 100ms podr¨ªa ser suficiente para una experiencia satisfactoria. En cambio, lo que Microsoft te¨®ricamente propone es que los programadores deleguen tareas a servidores mientras el juego se renderiza en tiempo real en la consola. Teniendo en cuenta las cifras que hemos dado antes, es muy dif¨ªcil pensar c¨®mo eso puede tener lugar. Delegar por ejemplo las f¨ªsicas, por mucho que no tengan por qu¨¦ calcularse en todos los fotogramas, es complicado de imaginar. Es m¨¢s, hay que considerar que no es un rendimiento predecible y medible previamente como el que te proporcionan unas especificaciones cerradas, porque las condiciones de red de cada usuario pueden ser muy diferentes.
Donde s¨ª tiene claro sentido la nube es en juego en l¨ªnea. Ser¨ªa probablemente un modelo m¨¢s similar a Gaikai, donde el peso realmente recae en los servidores en lugar de ser herramientas al servicio de las consolas. En ese sentido, Titanfall ser¨¢ uno de los primeros juegos de Xbox One en aprovecharse de los servidores en la nube. Eso s¨ª, hay que tener en cuenta una vez m¨¢s el factor coste. Azure, como as¨ª se denomina la nube de Microsoft, no es un ente m¨¢gico, gratuito e infinito al que los estudios pueden acceder para dar rienda suelta a su imaginaci¨®n. Esas m¨¢quinas tienen un coste y siempre hay que estudiar c¨®mo rentabilizarlo. Viendo lo dif¨ªcil que resulta tener servidores dedicados en ciertos juegos, como para hacer ciencia ficci¨®n con el poder de la nube. Y para cerrar la ecuaci¨®n, est¨¢ el punto que a nadie se le debe olvidar: Sony puede replicar cuando quiera la infraestructura de Microsoft. S¨ª, con sus costes asociados, pero si resultara que al final la nube realmente aporta un elemento diferenciador, al ser algo externo a la consola que ya est¨¢ en la calle, no habr¨ªa ning¨²n inconveniente en que PlayStation 4 tambi¨¦n pudiera disfrutar de sus bondades.
Conclusiones
De todo este amasijo de informaci¨®n que hemos desgranado s¨ª es posible sacar algunos aspectos clave. El primero es que objetivamente Xbox One es m¨¢s dif¨ªcil de programar que PlayStation 4, dado que esta ¨²ltima tiene una arquitectura m¨¢s sencilla y parecida a la de un PC. El segundo es que, sobre el papel, PlayStation 4 es m¨¢s potente que Xbox One, pero no a gran distancia, con lo que es probable que los multis apenas tengan diferencias a medio y largo plazo. El tercero es que, aprovechada convenientemente, la eSRAM podr¨ªa suplir cualquier carencia de la m¨¢quina de Microsoft e incluso potencialmente darle puntos a favor, pero igualmente no creemos que suponga un elemento extremadamente diferenciador. Y finalmente, y lo m¨¢s importante, la generaci¨®n acaba de nacer y ambas plataformas parten muy parejas. Hay pie a que mejoren las herramientas de programaci¨®n, las t¨¦cnicas empleadas y los drivers, con lo que a¨²n no est¨¢ nada escrito. Quiz¨¢ nos sorprendamos con el paso del tiempo.