naxeras escribió:wwwendigo escribió:Bueno, de momento se está diciendo que se usarán sobre 4-5 GB para aplicaciones (fuentes desde sony y microsoft), y el resto está reservado para sistema (sí, dado que además de SO completos, nada de mini-SO, tendrán funcionalidades extra con aplicaciones en segundo plano para otros servicios), así que tu previsión empieza mal al suponer que habrá más memoria disponible, casi toda de hecho (7 GB). Son menos, por lo menos al comienzo.
A ver lo de que el sistema ocupe 3 o 4 GB de memoría si me pasas esas fuentes que dices de Sony y Microsoft te creo, mientras tanto son rumores ya que siguiendo la simple lógica es muy poco creíble.
Venga si quieres podemos poner
2GB como mucho y todavía me surgen dudas.
Lo segundo es que veo que no me has entendido porque he puesto un ejemplo en concreto, ingame en un juego nextgen es probable que no va a estar usándose 1GB del código del juego y 5 para texturas ni de coña creo que he sido claro al poner el ejemplo de una
animación in-engine.
En una animación de estas da gracias si el código cargado es más de un 1GB ya que no hay estructuras de datos ni IA ni nada, es una animación in-engine como hay a patadas en los videojuegos de hoy en día.
Me refiero a esas animaciones donde se suele cargar el modelo con muchos más polígonos y todo con mejores texturas y luego se reduce cuando llegamos al gameplay.
En ese momento perfectamente se pueden estar usando 1GB para el código y 5 para las texturas.
Y si piensas que es más el tema del código de un juego, piensa que
PS3 tiene 256MB de memoría de sistema y tiene el SO cargado también, imagínate el código cuanto ocupa en memoria en un juego de esta generación con toda su IA, estructuras de datos etc etc, pues si menos de esos 256MB.
Por ser un juego nextgen donde no queremos que desaparezcan los cadáveres a los 10 segundos le he puesto el triple de memoría y vuelvo a repetir los mismo en una
escena In-engine esos calculos en la memoria no se están haciendo.
Por todo esto veo factible que una tarjeta con
4GB de VRAM se quede pequeña.
Pero por esto he puesto el post para discutirlo y razonarlo.
Un Saludo.
Hombre, buscando un mínimo por internet lo encuentras, no hace falta que te ponga siquiera dónde lo he leído porque ya es vox populi:
1.- La PS4 ni siquiera permite un uso fiable de 5GB de RAM, usa menos:
http://www.eurogamer.es/articles/digitalfoundry-ps4-memoria-sistemaSólo 4,5 GB son localizables y seguros en la PS4, los 512 MB a mayores para los 5 GB (se añaden unos 512 MB "virtuales" sin duda de un archivo de paginación) que se pueden pedir al s.o no están asegurados para la aplicación, y le pueden ser arrebatados por el SO en cualquier momento (ergo el modelo de desarrollo seguro y estable es el de limitarse a usar 4,5GB, PARA TODO en el juego incluido VRAM).
Ya ves que esta noticia está basada en comunicados oficiales de Sony.
La XBOX One tiene limitaciones similares:
http://kotaku.com/the-five-possible-states-of-xbox-one-games-are-strangel-509597078Estos datos provienen de una circular enviada de información a los desarrolladores para la XBONE explicando los distintos modos de funcionamiento de la consola.
A nosotros lo que nos importa es su funcionamiento en el primer estado, "running", del cual se dice:
The game is loaded in memory and is fully running. The game has full access to the reserved system resources, which are six CPU cores, 90 percent of GPU processing power, and 5 GB of memory. The game is rendering full-screen and the user can interact with it.
5GB de memoria, los demás estados de funcionamiento (en ventana, suspendido, etc), no rebasan de ninguna manera estas capacidades, siendo realmente menor los recursos como nº de cores activos para la aplicación, etc. Eso sí, se suelen mantener los 5 GB de memoria en los estados donde esté funcionando o en suspensión algún juego, lo cual tiene lógica.
2 .- Sobre lo que dices de animaciones usando el engine del juego. Es que te equivocas en un punto, raros son los datos cargados directamente desde disco a VRAM (excepto texturas, a lo sumo), ya que estas escenas con el engine tienen que ser primeramente procesadas por la cpu (inicio del setup 3D, los datos de los modelos de las distintas entidades, cambios que sufren por la ejecución de scripts, el mapeado general sin preprocesar para renderizar, todo eso se tien que almacenar y procesar en memoria principal y con uso de la cpu), incluso en escenas como dices "in game", muchos datos están en memoria principal.
Realmente el código de un juego, el REAL, no las zonas de memoria reservadas para almacenar datos por un programa, suele ser bastante limitado, llegando con unos pocos MB de código máquina, así que realmente el código no pesa. Lo que pesa son los datos que hay en memoria principal, sonidos, mapeados (que no están en VRAM, nunca, sólo el "world view" de éste preprocesado para renderizar), las entidades/objetos que hay en ese mapa con todas sus características más allá del propio modelo que podamos ver (IA, características como "vida", "peso", "velocidad", datos de estado varios, etc), todo eso tiene que residir en memoria principal.
El ejemplo que pones de la PS3 precisamente no es bueno, ya que el s.o. es minimalista (creo que ahora reserva unos 32-50 MB de la memoria principal para sí mismo, dejando unos 200-210 MB para la aplicación), la memoria gráfica apenas es más que ésta. Luego no suele haber esas enormes diferncias entre la VRAM usada y la RAM principal.
Las escenas "in game" que citas, te repito, no es algo "mágico" que no ocupe espacio en ram principal y sí de VRAM, precisamente las escenas "in game" tienen que tener funcionando al engine del juego a plena capacidad y cargando todos los datos de mapas y entidades manejadas, en memoria principal. Sólo con suerte puedes evitar cargar ahí texturas y no siempre.
¿Una tarjeta de 4 GB de VRAM quedarse pequeña con esa potencia gráfica, y en consolas que usan 5 GB de RAM para el juego O MENOS?
Te lo digo claramente, IMPOSIBLE. Y desde la experiencia de ser programador, aunque no sea de videojuegos (de éstos sólo he hecho alguna cosilla hace tiempo como puro amateur, y no hablo de usar engines ya realizados, eso no tendría gracia como aprendizaje).
PD: Para quien le interese, otra limitación de las nuevas consolas es la de usar menos cores para el juego de lo que la gente se piensa, aquí ya aparece el caso de la XBONE, donde un juego no podrá usar más que 6 de los cores. El caso de PS4 es similar, no encuentro un link claro, pero puedo asegurar que hay como mínimo reservado un core para sistema, sino dos como la XBOX, así que son 6-7 cores para el juego en ejecución.
Las consolas NO son lo que se está pensando mucha gente con el baile de cifras que se traen sus fabricantes, un hecho que va en contra de lo que les gusta publicitar es que realmente esta generación tiene capacidad de ejecutar menos hilos que la anterior, o si se prefiere, no tiene más cores disponibles para los juegos según con qué comparemos (XBOX 360 tiene 3 cores, y 6 hilos de ejecución posibles por juego, la PS3 puede tener en uso 7 cores (6+1) y 14 hilos en ejecución, por tanto sustancialmente más que las consolas nuevas, y con esto una tendencia al uso del multihilo para nada inferior).