PlayStation 4 sólo permite utilizar hasta 5GB de RAM a los desarrolladores
ACTUALIZACIÓN: Comunicado de Sony.
ACTUALIZACIÓN #2: Sony ha emitido un comunicado oficial:
Queremos aclarar el malentendido respecto a nuestros sistemas de memoria "directa" y "flexible". El artículo especifica que la memoria "flexible" se toma del sistema operativo y que debe devolverse bajo petición, pero ese no es el caso.
La distinción real es que:
- La "memoria directa" es memoria asignada según el modelo tradicional de los videojuegos, en la que el juego controla todos los aspectos de la asignación.
- La "memoria flexible" es memoria administrada por el sistema operativo de PS4 para el juego, y permite que los juegos utilicen una cantidad de la función de memoria virtual de FreeBSD. Sin embargo, esta memoria es 100% para el juego y nunca es usada por el sistema operativo, ya que es memoria del juego y debe ser fácil de acceder por parte del desarrollador.
No tenemos ningún comentario que hacer sobre la cantidad de memoria reservada por el sistema o para qué se utiliza.
Basándonos en esta información, más la nueva fuente que nos ha explicado las propiedades de la memoria flexible, lo que tenemos ahora es que hay 4.5GB de memoria RAM convencional disponible para los desarrolladores, más la memoria flexible controlada por el sistema operativo que Sony describe.
Entendemos que es un espacio de 1GB virtual dividido en dos áreas: 512MB de memoria RAM (la parte física) más otros 512MB de memoria "paginada", quizás similar al archivo de intercambio de Windows. Pero para ser claros, de los 8GB de GDDR5 que lleva PS4, nuestra opinión es que hay 5GB en total disponible para los desarrolladores.
La buena noticia es que esa cantidad es estática y no dictada por las funciones de S.O. como explicamos en el artículo original, lo cual hace que para los desarrolladores sea mucho más fácil trabajar con ella.
ACTUALIZACIÓN #1: Una nueva fuente familiarizada con este tema ha proporcionado información adicional a Digital Foundry que confirma que tan sólo 4.5GB de los 8GB de memoria GDDR5 de PlayStation 4 están disponibles por ahora para los desarrolladores, aclarando además cómo funciona en la práctica la "memoria flexible".
En términos reales puede haber 512MB de memoria RAM física disponibles como añadido a los 4.5GB que menciona el SDK. La memoria flexible consiste en espacios físicos y virtuales, pero en el segundo se introducen problemas de paginación que tienen un impacto en el rendimiento. En nuestro artículo original de ayer combinamos ambos espacios juntos.
En los juegos reales estas cifras corregidas, tal y como sabemos ahora, son una garantía de que hay 4.5GB para el desarrollo y 512MB flexibles. Hemos corregido el titular en consecuencia.
Noticia original: PlayStation 4 reserva 3.5GB de sus 8GB de memoria GDDR5 para el sistema operativo dejando sólo 4.5GB a disposición del código de los juegos, según desvela la documentación actual del SDK de PS4 que ha mostrado a Digital Foundry una fuente fiable dentro de la comunidad de desarrolladores. Sin embargo, otras fuentes sugieren que se puede solicitar 1GB de "memoria flexible" al sistema operativo en caso de que ésta esté disponible.
Los documentos internos de Sony especifican que 4.5GB es la cantidad estándar garantizada de memoria que estará disponible para los desarrolladores (nótese que esa es, precisamente, la cantidad que utilizaba la demo de Killzone: Shadow Fall) y muy probablemente la que usarán la mayoría de títulos de lanzamiento de la consola. Lo que otras fuentes cercanas a Sony apuntan es a que los programadores pueden solicitar hasta un gigabyte adicional de "memoria flexible" para ampliar elementos del juego, pero únicamente si el sistema operativo que corre de fondo puede permitirlo. Nos explican que incorporar eso no es trivial, y que es muy probable que sólo los desarrolladores first-party lo utilicen al principio.
Los kits de desarrollo actuales de PlayStation 4 incluyen un modo "Game Memory Budget" en las opciones de depuración con dos valores posibles: normal y grande. La opción normal confirma que 4.5GB de memoria se pueden utilizar en los juegos. La opción grande aumenta esta cantidad hasta 5.25GB, pero los documentos detallan de forma clara que esa RAM extra sólo está disponible para el desarrollo de aplicaciones, en un principio para alojar los datos de depuración. Por lo que sabemos, esa giga de memoria flexible está disponible como añadido a esas opciones.
La noticia de que la reserva de memoria del sistema operativo de PS4 sea similar a los 3GB que reserva Xbox One sorprenderá a mucha gente, especialmente si se tiene en cuenta que la anterior documentación filtrada de Sony hablaba de únicamente 512MB para el software del sistema - aunque esa información procedía de la época en la que la nueva PlayStation iba a tener únicamente 4GB de memoria.
"Los documentos internos del SDK de Sony especifican que 4.5GB es la cantidad estándar garantizada de memoria que estará disponible para los desarrolladores, muy probablemente la que usarán la mayoría de títulos de lanzamiento."
Hay muchos paralelismos con Xbox One, de hecho. Ambas consolas reservan dos núcleos de la CPU Jaguar para el sistema operativo y una cantidad a priori desproporcionada de RAM - especialmente si se compara con un PC, donde Windows funciona perfectamente con algo menos de un giga de memoria a su disposición. Sin embargo, en un mundo en el que Wii U reserva el 50% de su memoria RAM para el sistema operativo, la cantidad también alta de PS4 quizás no sea tan sorprendente. El salto de los 4GB a los 8GB en la máquina permite que Sony sea mucho más ambiciosa respecto a las tareas que PlayStation 4 puede ejecutar de fondo y en paralelo con los juegos.
Microsoft ya ha mostrado las posibilidades de Xbox One en este aspecto, pero nuestras fuentes aseguran que PlayStation 4 puede conseguir cosas muy parecidas, quizás de forma similar a PS Vita - el juego entra en pausa, las apps se pueden cargar cambiando al instante y al salir el juego prosigue sin necesidad de volver a cargar el código. La comodidad y funcionalidad es innegable, pero tiene un alto coste a nivel de consumo de memoria.
Así que ambas consolas de nueva generación llegarán a las tiendas con 8GB de memoria unificada, pero con una cantidad significativamente menor disponible para los desarrolladores. La gran diferencia entre los enfoques de Sony y Microsoft con el S.O. podría estar en sus planes de futuro para la reserva de memoria. Un insider de Microsoft me cuenta que los ingenieros de Xbox One escogieron específicamente 3GB para que la plataforma de fondo evolucione a lo largo de un ciclo de vida de diez años - es muy difícil añadir nuevas características si se reduce la cantidad de RAM disponible respecto a su nivel inicial. La reserva de RAM en Xbox One es definitiva, y casi imposible que cambie.
Fuentes cercanas a Sony, en cambio, sugieren que el enfoque de PS4 es más flexible: la actual reserva en términos de núcleos de CPU y de memoria podría reducirse cuando el sistema operativo esté terminado y luego puede también optimizarse. En resumen, aunque no hay garantías de que esto cambie en el futuro, Sony al menos deja la puerta abierta a la posibilidad de que su departamento de i+d pueda reducir el consumo del sistema operativo, como ya hizo con PlayStation 3.
Sea como sea, la situación para el lanzamiento de la nueva generación ya se ha definido, y la idea de ambos fabricantes es que, aunque los juegos tengan a su disposición la mayoría de los recursos del sistema, las aplicaciones y recursos suplementarios son muy importantes. Microsoft ya ha mostrado su apuesta en este sentido: ahora falta por ver qué características adicionales aporta PlayStation 4 más allá de sus funciones como máquina de juegos tradicional.
Traducción por Josep Maria Sempere.