Gaming Club
Regístrate
españaESPAÑAméxicoMÉXICOusaUSA

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.

Ampliar

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.

Ampliar

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.

Ampliar

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.

Ampliar

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 – 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".

Ampliar

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 – 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.

Ampliar

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.

Ampliar

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.

Ampliar

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.